EXR is the floating-point HDR master format of film and visual effects, while AVIF is the format that delivers a tone-mapped slice of that range to the web. Both store high dynamic range, which makes EXR the most natural niche-to-AVIF story on this site: you grade the EXR, then export 10/12-bit AVIF for browsers. This page explains where EXR comes from, why it is unviewable on the web, and how its dynamic range reaches a screen.
Where EXR comes from
EXR is OpenEXR, created by Industrial Light & Magic between 1999 and 2002 to store film-grade dynamic range that 8-bit formats could not hold. Three facts anchor its origin:
- ILM built EXR for The Perfect Storm and Harry Potter, where rendered light exceeded any 8-bit container.
- ILM open-sourced EXR in 2003, publishing a reference C++ library for reading and writing.
- The Academy Software Foundation governs EXR since 2019 as a flagship project.
OpenEXR also won a Scientific and Technical Academy Award in 2007, a rare Oscar for an image format. Read its history at About OpenEXR.
Why floating-point depth defines EXR
EXR stores each channel as floating-point, not the fixed integers of JPEG or PNG. It offers three numeric types:
- half — 16-bit float, 1 sign / 5 exponent / 10 mantissa bits, the default for renders.
- float — 32-bit IEEE single precision, for deep compositing and scientific data.
- uint — 32-bit integer, for object IDs and mask channels.
The 16-bit half type spans roughly 30 photographic stops of light, with 1024 distinct values per stop. Integer formats cannot represent values above pure white, so highlights clip; floating-point keeps super-bright pixels editable. ILM's half type later became a hardware standard in GPUs and machine learning. See the Technical Introduction to OpenEXR.
Multi-channel render passes
A single EXR can carry dozens of channels and layers in one file, far beyond RGBA. Renderers like Arnold, V-Ray, and Cycles write Arbitrary Output Variables (AOVs) such as:
- Diffuse, specular, and reflection passes for relighting.
- Z-depth and motion vectors for depth-of-field and motion blur.
- Object IDs and cryptomatte mattes for isolating elements.
This lets compositors in Nuke or Fusion retune a shot without re-rendering. AVIF, by contrast, ships a single flattened RGB(A) image — it is a delivery format, not a working master.
Why EXR cannot ship to the web
EXR is far too heavy and unsupported for browser delivery. A 4K half-float frame with PIZ compression runs 30–80 MB; a 32-bit float ZIP frame can reach 250 MB. By comparison, the same frame as high-quality HDR AVIF is typically 1–4 MB.
No mainstream browser renders .exr natively, and its compression modes (PIZ, ZIP, DWAA) target editing fidelity, not the kilobyte budgets of a web page. EXR preserves every light value for further processing; the web only needs the final, display-referred result. For lossy versus lossless trade-offs, see Lossy vs Lossless Compression.
EXR to AVIF: the HDR delivery workflow
AVIF's 10–12-bit HDR is the web-deliverable subset of EXR's range. The pipeline has two stages:
- Grade and tonemap the EXR — map its 30-stop scene-referred range into a display-referred signal, using Nuke, DaVinci Resolve, or
oiiotool. - Export AVIF — encode 10-bit or 12-bit AVIF with a BT.2020 gamut and a PQ or HLG transfer function for HDR screens.
AVIF is the only widely supported web format that carries 10/12-bit HDR with PQ/HLG, reaching ~94% of users in 2026. WebP cannot store HDR, so it serves only as an SDR fallback. Tune the export with AVIF Compression Settings and AVIF Optimization.
oiiotool (OpenImageIO) bridges the two formats from the command line:
# Tonemap a scene-referred EXR and export a web-ready intermediate
oiiotool render.exr --colorconvert linear "sRGB" -o web.png
# then encode the intermediate to AVIF in this tool: /png-to-avif
How EXR fits among web formats
EXR is the source; web formats are the destinations. Position it against the deliverables:
- AVIF — preferred HDR target; carries the 10/12-bit subset of EXR's range.
- WebP — SDR-only fallback; no HDR support.
- PNG — lossless 8/16-bit integer intermediate, no floating-point.
- JPG — 8-bit SDR baseline for legacy compatibility.
- HDR (Radiance) — the 1989 RGBE format EXR effectively superseded.
Convert tonemapped intermediates in your browser, no upload: Convert PNG to AVIF, Convert JPG to AVIF, Convert AVIF to PNG, Convert AVIF to JPG.
FAQ
Can a browser open an EXR file? No. No mainstream browser renders .exr; convert it to AVIF, PNG, or JPG first.
Does AVIF preserve EXR's full dynamic range? No. AVIF stores a 10/12-bit display-referred subset, not EXR's full floating-point scene range.
Is EXR lossless? It can be. EXR offers lossless modes (ZIP, PIZ) and lossy modes (DWAA, B44) depending on the workflow.
Should I edit in EXR and deliver in AVIF? Yes. Keep the EXR as the editable master and export AVIF for the web on demand.
Why not just ship the EXR? EXR frames are 30–250 MB and unsupported in browsers — orders of magnitude too large for a page.
Sources and further reading
- About OpenEXR — openexr.com
- Technical Introduction to OpenEXR — openexr.com
- OpenEXR Joins Academy Software Foundation — ILM
- AVIF Format — the recommended HDR delivery target
- HDR Format — the Radiance RGBE format EXR succeeded