When working with high dynamic range imaging (HDRI) or visual effects (VFX), the choice between 16-bit half-float and 32-bit float OpenEXR formats can significantly impact your workflow, file sizes, and the quality of your final output. Both formats have their strengths and weaknesses, and understanding their differences is crucial for making the right decision.
Here’s a comparison table between 16-bit half-float and 32-bit float OpenEXR formats:
Feature | 16-bit Half-Float (Half, EXR) | 32-bit Float (Full, EXR) |
---|---|---|
Bit Depth | 16-bit per channel (Half-float) | 32-bit per channel (Full-float) |
Dynamic Range | High, but limited compared to 32-bit | Extremely high |
Precision | 10-bit mantissa, 5-bit exponent, 1 sign bit | 23-bit mantissa, 8-bit exponent, 1 sign bit |
Memory Usage | Lower, ~50% smaller file size than 32-bit | Higher, larger file sizes |
File Size | More compact, efficient for storage | Larger due to higher precision |
Performance | Faster to read/write and process | Slower due to increased data size |
HDRI Use Cases | Ideal for most HDRI maps, balancing quality and size | Overkill for most cases, but useful for extreme precision |
Common Applications | HDRI maps, film compositing, VFX | Scientific imaging, extreme precision VFX |
Loss of Detail | Small precision loss in deep shadows and highlights | No visible precision loss |
Photoshop and 32-bit OpenEXR: A Common Challenge
One notable limitation is that Adobe Photoshop does not natively support 32-bit OpenEXR files. This can be a significant hurdle for artists and professionals working with high-precision EXR files. However, there’s a free plugin called Exr-IO for Photoshop that resolves this issue. By installing this plugin, you can seamlessly open and save 32-bit OpenEXR files in Photoshop, unlocking the full potential of this format.
Limited Tool Availability: Some Photoshop tools and filters may not be compatible with 32-bit images. This is because 32-bit images contain a vast amount of data, and some tools might not be designed to handle that level of information. When editing or patching hdris you will be limited to simple Stamp tool, Content Aware fill (which works great in most scenarios), and for color correction to Adjustment layers: Hue/Saturation, Channel Mixer, Exposure, Color Lookup, Photo Filter.
Affinity Photo and 32-bit
Affinity Photo provides full 32-bit OpenEXR support, preserving the high dynamic range and color precision needed for HDRI maps and VFX work. It maintains a linear workflow, ensuring accurate blending and lighting without clipping or unwanted tone shifts. The Live Equirectangular Preview allows seamless editing of HDR environment maps, letting users paint, retouch, and adjust directly in a 360° projection without distortion. Essential corrections like white balance adjustments can be applied non-destructively, ensuring accurate color calibration. The clone stamp, patch, and inpainting tools help remove artifacts or seams in HDR panoramas, while full layer support for OpenEXR files enables complex compositing with masks and blending modes. These features make Affinity Photo a powerful tool for professional HDRI and CGI workflows.
While Affinity Photo excels in many areas, exporting or editing very large files (e.g., 30K HDRI maps) is significantly less efficient than in Photoshop, which handles massive datasets more smoothly.
How to check if my OpenEXR is float 32-bit or half float 16-bit ?
You can easily check your OpenEXR file’s bit depth using several tools:
Nuke (Non-Commercial Version): Add a Read node, load your .exr
file, and check the Metadata tab for the key “input/bitsperchannel” to see whether it’s 32-bit float or 16-bit half-float.

GIMP (Free): Open the .exr
file, press Alt + Return to access Image Properties, and find the “Precision” key for bit-depth details.

3ds Max: Load the .exr
file into a Bitmap node, and the bit-depth will be displayed automatically.

These methods ensure quick and accurate verification of your OpenEXR file format.