What is the HDR file format?
The .hdr file is a Radiance HDR (High Dynamic Range) raster image, developed by Greg Ward at Lawrence Berkeley National Laboratory as part of the Radiance lighting simulation system in the late 1980s. The format was originally stored with the .pic extension before .hdr became standard.
Each pixel is encoded using RGBE - three 8-bit mantissa values for red, green, and blue channels, plus a single shared 8-bit exponent. This packs a full floating-point HDR pixel into just 4 bytes, representing a dynamic range spanning roughly 76 orders of magnitude (~10⁻³⁸ to 10³⁸). The trade-off is that all three channels share one exponent, so per-channel precision is lower than in formats like OpenEXR, which stores true 16- or 32-bit floats per channel and supports multiple layers.
The file begins with an ASCII header containing the signature #?RADIANCE (some tools write #?RGBE instead - both are valid). After the key=value variable block and a resolution line, pixel data is stored as run-length encoded (RLE) scanlines. An alternative luminance encoding is also supported: setting the FORMAT header field to 32-bit_rle_xyze switches from RGB to CIE XYZ color space.
.hdr files are widely used for HDRI environment maps in 3D rendering and game engines, where the high dynamic range enables accurate image-based lighting. They are supported by Blender, GIMP, Adobe Photoshop, and most real-time rendering pipelines. For production VFX work requiring per-channel float precision and multi-layer support, OpenEXR has largely become the industry standard.
Security & safety
RISK: LOWA Radiance .hdr is a passive image - no scripts, macros or executable content - so the file itself is not a malware vector. The only practical cautions are large file sizes for high-resolution HDRI maps and the rare image-library parser bug; keep your editor updated. Avoid sketchy "free HDR converter" sites that bundle adware - GIMP, Krita, Blender and Photopea cover the need for free.
Format details
in a nutshell- Analog Devices / Mentor SPICE .hdr (header data) - Some EDA and data tools write a plain-text .hdr header/metadata sidecar - unrelated to imaging.
- ENVI / remote-sensing .hdr header - ENVI raster headers use .hdr as a text sidecar describing a companion raw image, not a Radiance picture.
- Game engine / install '.hdr' assets - Occasionally an engine names a packed HDR cubemap or generic header file .hdr.
Programs that open HDR files
Technical details
deep spec| Encoding scheme | RGBE - 8-bit mantissa per R, G, B channel plus one shared 8-bit exponent; packs an HDR pixel into exactly 4 bytes |
| Dynamic range | ~76 orders of magnitude (~10⁻³⁸ to 10³⁸); equivalent to roughly 25+ photographic stops |
| File signature | ASCII `#?RADIANCE` followed by newline (0x0A) at byte offset 0; `#?RGBE` at offset 0 is equally valid and widely produced |
| Compression | Adaptive run-length encoding (RLE) of scanlines; flat (uncompressed) scanline storage is also permitted by the spec |
| Header format | Plain ASCII key=value variable block (FORMAT, EXPOSURE, COLORCORR, PRIMARIES, SOFTWARE, etc.) terminated by a blank line |
| Resolution line | Encodes width, height, and orientation as e.g. `-Y 512 +X 1024`; all four flip/rotate combinations are supported |
| Color encodings | `32-bit_rle_rgbe` (linear RGB, default) and `32-bit_rle_xyze` (CIE XYZ luminance variant), selected via the `FORMAT` header field |
| MIME type | `image/vnd.radiance` (IANA registered); `image/x-hdr` is a widely used informal alternative |
| Byte order | Endian-neutral; pixel data consists of individual bytes stored per-pixel with no multi-byte integer fields |
| Typical file size | 1 MB - 30 MB; panoramic HDRI environment maps at resolutions such as 8192×4096 reach the upper range |
| Dimensions limit | No hard format limit; width and height are stored as plain decimal integers in the resolution header line |
| Color space | Linear light with no embedded gamma curve; EXPOSURE and COLORCORR header fields carry scene-referred correction metadata |
| Alpha channel | Not supported; neither the RGBE nor the XYZE encoding includes a transparency or alpha plane |
| Per-channel precision | ~8 bits relative precision per channel due to the shared exponent; absolute accuracy depends on the scene exposure value |
| Historical extension | `.pic` was used in the original Radiance lighting system; `.hdr` became dominant as the format spread to imaging and 3D tools |
| Released | 1985-1989 (Radiance lighting simulation system); .pic originally, later .hdr |
| Latest version | RGBE/XYZE encoding (stable; format essentially unchanged) |
| Open standard | Yes · royalty-free |
| Specification | floyd.lbl.gov |
HDR conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about HDR files.