What is the EXR file format?
.exr is an HDR graphics file saved in the OpenEXR Image format. .exr files contain high-dynamic-range raster images. The HDR imaging technique allows the creation of images of very high quality. .exr images can be uncompressed or compressed using one of several supported algorithms - including PIZ, ZIP, ZIPS, RLE, PXR24, DWAA, and DWAB. The choice of compression method, or lack thereof, affects the size of the .exr file and its processing time.
Unique attribute
In .exr files, each pixel channel is represented by a floating-point number - either half-precision (16-bit) or single-precision 32-bit. Such high precision allows colour and contrast to be defined at levels not achievable by conventional 8-bit formats such as .png or .jpg. The format also supports multiple layers and arbitrary channels in a single file - storing colour, depth, normals, and motion vectors together - making .exr the standard interchange format in VFX compositing pipelines.
Uses of .exr format
The OpenEXR Image format was developed by Industrial Light & Magic as an image data format for the visual effects pipeline used in cinematography. It was first used during production of:
- *Harry Potter and the Sorcerer's Stone*
- *Gangs of New York*
- *Signs*
ILM released OpenEXR as open source in 2003; the project is now maintained by the Academy Software Foundation (ASWF).
Security & safety
RISK: LOWEXR is a passive image format - no scripts or executable content - so an .exr file is not a malware vector in normal use. The only practical risks are huge file sizes (multi-layer/deep EXRs can be very large) and the occasional parser bug in image libraries; keep your viewer/DCC software updated. Watch out for sketchy "free EXR viewer/converter" download sites that bundle adware - prefer Blender, GIMP, Krita, or the open-source openexr-viewer.
Format details
in a nutshellPrograms that open EXR files
Technical details
deep spec| Magic bytes | 76 2F 31 01 (hex) at byte offset 0; encodes the little-endian 32-bit integer 20000630, followed by a version/flags field |
| Pixel data types | Half (IEEE 754 16-bit float), Float (32-bit float), or UINT (32-bit unsigned integer) - selectable independently per channel |
| Compression modes | 10 options: None, RLE, ZIPS, ZIP, PIZ, PXR24, B44, B44A, DWAA, DWAB; PIZ and ZIP are lossless; DWAA/DWAB are lossy wavelet-based |
| Channel layout | Arbitrary named channels (e.g., R, G, B, A, Z, normal.X, velocity.Y) stored independently within each layer |
| Layer support | Multiple named layers per file, each with its own independent set of channels and data types |
| Multi-part format | Introduced in OpenEXR 2.0; a single `.exr` file can contain multiple image parts with separate headers and pixel data blocks |
| Deep pixel data | OpenEXR 2.0+ supports deep scanline and deep tiled storage - multiple samples per pixel for compositing with sub-pixel transparency |
| Image storage modes | Scanline or tiled; tiled files support mipmap and ripmap level sets for texture level-of-detail workflows |
| Maximum image size | Up to 2^31 − 1 pixels per dimension (signed 32-bit coordinate system) |
| MIME type | image/x-exr |
| Header structure | Extensible typed-attribute list terminated by an empty-string sentinel; supports arbitrary custom key-value metadata pairs |
| Colour space handling | Pixel values stored as scene-linear light; no embedded gamma or tone curve - display transform applied externally, commonly via OpenColorIO |
| Multi-view support | Native `multiView` attribute enables stereoscopic and multi-camera array workflows within a single file |
| Licence / steward | Apache 2.0 licence; originally developed by ILM, now an Academy Software Foundation (ASWF) project |
| Released | 2003 (released as open source by ILM; later an ASWF project) |
| Open standard | Yes · royalty-free |
| Specification | openexr.com |
EXR conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about EXR files.