Free webp to jpg
Radiance

Radiance HDR

image/vnd.radiance Released 1989 · by Greg Ward (Lawrence Berkeley National Laboratory)

The image/vnd.radiance MIME type represents the Radiance HDR image format, invented by Greg Ward in 1989 for the Radiance lighting simulation system. It is one of the earliest and most universally supported High Dynamic Range (HDR) image formats. To store a massive range of luminosity values without the memory overhead of true 32-bit floating-point per channel, it uses the ingenious RGBE (Red, Green, Blue, Exponent) encoding system, packing HDR data into just 32 bits per pixel. Today, it remains the industry standard for 3D environment maps and image-based lighting (IBL) in CGI and game engines.

3D Graphics & HDR Imaging ✦ HDR Production Ready

Technical Specifications

MIME Type
image/vnd.radiance
Extensions
.hdr.pic.rgbe.xyze
Container
Radiance Information Header
Compression
Run-Length Encoding (RLE) & Uncompressed
Algorithms
Adaptive Run-Length Encoding (RLE)
Color Depth
32-bit (8-bit per channel RGB + 8-bit shared Exponent)
Metadata
None
Capabilities
Transparency
Animation
Progressive Loading
Alpha Channel
HDR Support
Official Specification
Aliases: image/hdrimage/x-hdrapplication/octet-stream

Magic Bytes & HTTP Headers

File Signature (Magic Bytes)
23 3F 52 41 44 49 41 4E 43 45
ASCII: #?RADIANCE
HTTP Headers
Content-Type: image/vnd.radiance
HTML Accept Attribute
accept="image/vnd.radiance, .hdr, .rgbe"

Browser Support Matrix

Browser Status Min Version
Chrome Chrome
Not Supported
Firefox Firefox
Not Supported
Safari Safari
Not Supported
Edge Edge
Not Supported
Internet Explorer Internet Explorer
Not Supported Legacy

Advantages & Limitations

Advantages
  • Universally supported by almost every 3D modeling software, renderer, and game engine in existence
  • RGBE encoding offers a brilliant balance between High Dynamic Range capability and small file size (compared to 32-bit float OpenEXR)
  • Simple, easy-to-parse ASCII header followed by straightforward RLE binary data
Limitations
  • Does not support alpha transparency (no way to store an isolated light source with a transparent background)
  • The shared exponent architecture can occasionally introduce banding or color artifacts in extreme edge cases compared to true 16-bit/32-bit floating-point formats like OpenEXR
  • Zero native browser support for 2D viewing

Developer Code Snippets

import magic
# Libmagic accurately detects the '#?RADIANCE' header
print(magic.from_file('environment.hdr', mime=True)) # May output 'image/vnd.radiance' or 'image/x-hdr'
const fs = require('fs');
// Detecting the Radiance header manually
const buffer = Buffer.alloc(10);
const fd = fs.openSync('environment.hdr', 'r');
fs.readSync(fd, buffer, 0, 10, 0);
fs.closeSync(fd);
const isRadiance = buffer.toString('ascii') === '#?RADIANCE';
console.log('Is Radiance HDR:', isRadiance);
import (
    "bytes"
    "net/http"
)
// http.DetectContentType will not recognize Radiance HDR natively. Use a custom prefix check:
// isHDR := bytes.HasPrefix(buf, []byte("#?RADIANCE")) || bytes.HasPrefix(buf, []byte("#?"))
$mime = mime_content_type('environment.hdr');
echo $mime; // Depending on the magic database, this often resolves to 'image/vnd.radiance' or 'application/octet-stream'

File Detection Steps

How to programmatically detect a image/vnd.radiance file by reading its raw bytes:

  1. 1 Check the first bytes of the file for the magic string '#?RADIANCE' (Hex: 23 3F 52 41 44 49 41 4E 43 45) followed by a newline.
  2. 2 Some older or alternative implementations may start simply with '#?' followed by an arbitrary program name (like '#?RGBE').
  3. 3 The header is plain ASCII text until a blank line, after which the binary pixel data begins.

Software Support

B
Blender
U
Unreal Engine / Unity
A
Adobe Photoshop
ImageMagick ImageMagick

Conversion Tools

Share & Embed

Markdown Badge
Radiance Format Badge
[![Radiance Format](https://freewebptojpg.com/mime/image/radiance/badge.svg)](https://freewebptojpg.com/mime/image/radiance)
Interactive iframe Widget
<iframe src="https://freewebptojpg.com/mime/image/radiance/embed" width="100%" height="280" style="border:1px solid #cbd5e1;border-radius:8px;" title="Radiance Specs"></iframe>

JSON API

All data on this page is available as a free, open JSON API. Use it in your project, documentation, or tooling.

GET https://freewebptojpg.com/mime/image/radiance.json Open JSON
Free to use
No auth required
CORS enabled
Use from any domain
Cached 24h
Cache-Control headers set

Frequently Asked Questions

What is a Radiance HDR file?

A Radiance HDR (often just called an .hdr file) is a high-dynamic-range image format that captures the true luminosity of a scene, far beyond what standard monitors can display. It is predominantly used in 3D rendering to accurately illuminate digital environments using real-world lighting data.

What is RGBE encoding?

RGBE stands for Red, Green, Blue, and Exponent. Instead of storing 32-bit floating-point numbers for every single color channel (which creates massive files), Radiance stores 8 bits for Red, Green, and Blue, plus a shared 8-bit multiplier (the Exponent). This clever trick allows it to represent incredibly bright light sources (like the sun) in just 32 bits per pixel.

Can web browsers display image/vnd.radiance files natively?

No. Web browsers cannot natively render .hdr files. In web-based 3D applications (like Three.js or Babylon.js), the .hdr file is typically loaded via JavaScript, parsed into a Float32Array, and uploaded to the GPU as an environment map for WebGL rendering.

Related Formats

Share this format