More about converting JPG to HDR
Radiance HDR (.hdr, sometimes .pic) is the original high-dynamic-range image format developed by Greg Ward at LBL in 1985, and despite its age it remains the standard interchange container for environment maps in Blender, Cinema 4D, Houdini, Unreal Engine, and V-Ray. The format stores RGBE pixels (three 8-bit color channels plus a shared 8-bit exponent) which encode roughly 76 orders of magnitude of luminance range in a 32 bits-per-pixel structure - perfect for image-based lighting (IBL) where the brightness ratio between sun and shadow needs faithful representation.
Converting JPG to HDR is technically a synthesis step, not a true HDR capture - a single 8-bit JPG only encodes about 8 stops of dynamic range, while real HDR captured via bracketed exposures or a Lizard Q / Spheron VR rig contains 20+ stops. The converted .hdr file inherits whatever range the source JPG provided, but wrapping it in the RGBE container makes it loadable as an environment map by 3D software that refuses 8-bit LDR inputs. For quick lookdev, throwing a JPG sky photo at a Blender world shader via this conversion is faster than re-bracketing the scene.
VFX artists and Unreal Engine lighting TDs convert JPG to HDR most often when they need to test a HDRi panorama from Poly Haven, HDRMAPS, or a client reference sheet inside a tool that won't read 8-bit JPGs as latlong environment maps. Real production lighting still demands true 32-bit float HDR from sources like Hyperfocal Design or in-house brackets, but the converted .hdr is sufficient for blocking, animation reviews, and quick technical tests. For the reverse direction or alternative high-bit destinations see HDR to JPG.
When you'd use this
Reasons to convert JPG to HDR usually come down to compatibility, file-size, or specific feature requirements. Common situations:
- An app or platform only accepts HDR uploads.
- You need a feature unique to HDR (e.g. transparency, vector scaling, animation, multi-page pages, etc.) that JPG doesn't provide.
- You're optimising file size — modern formats often produce smaller files than the older format you started with.
- You need a single archival format across a project so files behave consistently in the same viewer.
How to do it in jpg.now
- Open the JPG → HDR tool on jpg.now.
- Drag your JPG file onto the drop zone, or click Select files. You can drop a whole folder of files at once.
- The output is fixed to HDR. If the format supports extra options (page size, transparency background, quality, EXIF stripping), tweak them in the right-hand panel.
- Click Convert. The job runs on our server and finishes in a few seconds for typical photos.
- Download the result. Files stay in storage for 24 hours and are then permanently deleted.
The entire flow is free for the first 10 jobs per day with no signup required. A free account doubles that quota; a premium plan removes the limit entirely.
Tips and common pitfalls
- Use equirectangular (2:1 aspect, latlong) JPGs as the source if the target is a Blender or Unreal environment map - the HDR container preserves the projection but won't fix a flat panel photo.
- For Blender, drop the .hdr into World > Surface > Environment Texture - the engine reads RGBE natively and applies it as IBL with no further conversion.
- Don't expect highlight recovery - converting JPG to HDR can't reconstruct clipped sun or window data that was already lost in the JPG encode. Source from RAW or bracketed exposures for true HDR.
- If you need 32-bit float precision rather than RGBE, convert to OpenEXR (.exr) instead - it's the production standard for film and supports per-channel float values plus arbitrary layers.
- Sites like Poly Haven, HDRMAPS, and HDRI Hub provide free real-HDR environment maps if your JPG-to-HDR result lacks the dynamic range your lighting setup needs.