The Origin Story
OpenEXR was developed by Industrial Light & Magic (ILM) in the late 1990s as a high-dynamic-range image format capable of storing the massive amounts of data generated by computer-generated imagery. The format was designed to handle floating-point pixel values — allowing individual color channels to store values well beyond the standard 0–255 range used by PNG and JPEG.
In 2007, ILM open-sourced OpenEXR under the BSD License, making it freely available for adoption across the VFX and CG industries. Today it is maintained by the Academy Software Foundation (ASWF) as an industry standard.
Float Pixels
The defining feature of OpenEXR is its pixel storage. Unlike PNG and JPEG which use 8-bit integers (0–255), EXR stores pixels as either 16-bit half-float or 32-bit full float values. This means a single channel can store values like 5.7, -0.3, or even 1e+10 — representing real light intensities in the rendered scene.
This HDR (high-dynamic-range) storage is essential for compositing pipelines because it preserves all luminance information from the render. When you composite multiple layers together, you can avoid clipping highlights and maintain smooth tonal transitions that would be lost with 8-bit formats.
Multi-Channel Support
While most image formats support only RGB (and optionally alpha), OpenEXR supports arbitrary channel counts. A single EXR file can store:
- RGB — the rendered image color
- A (alpha) — compositing matte
- Z — depth buffer values
- N — surface normal vectors
- Matte, displacement, and custom data channels
This multi-layer approach is why EXR is the default render output format in compositing software like Nuke, After Effects, and Flame — every channel carries its own metadata name and can be selectively used or discarded.
Compression
EXR supports multiple compression methods to balance file size against decompression speed:
- NONE (0) — uncompressed, fastest read
- RLE (1) — fast compression for scanline data
- ZIP (2) — good general-purpose compression
- PIZ (3) — lossless, best ratio for renders
The choice of compression affects both file size and performance. PIZ gives the smallest files but is slow to decompress; RLE is fast but less efficient on data with smooth gradients.
Want to explore an EXR file yourself? Open it in the Online EXR Viewer