Add your HDR file
Drop one or more .hdr files onto the converter above, or browse for them. They load into browser memory only — nothing is uploaded, so there is no size-based pricing and no server queue.
Converting a .hdr image to .ppm re-encodes the pixels for a different balance of size, quality, and support. Free, private, and validated — the file never leaves your browser.
Batch files can each use a different output. Nothing uploads for local conversions.
Working inputs include camera RAW, browser-local audio/video, PDF, CBZ/CBR comics, office documents, ebooks, markup, 3D models, structured text, images, and archives.Converting a .hdr image to .ppm re-encodes the pixels for a different balance of size, quality, and support. An .hdr file is a Radiance RGBE image, the original high-dynamic-range raster format. Each pixel stores three 8-bit mantissas and one shared 8-bit exponent, so 32 bits per pixel cover a luminance range no ordinary 8-bit format can express. It is still the everyday container for the HDRI environment maps used to light 3D scenes.
A .ppm file is a Portable Pixmap: a full-colour image storing three samples — red, green and blue — per pixel, with the maximum channel value declared in the header. It is the top rung of the Netpbm ladder and the most commonly encountered of the three. For this route the practical draw is full colour with no compression artefacts and no codec to implement and supports 16 bits per channel — balanced against completely uncompressed — typically several times the size of an equivalent PNG, which is worth knowing before you commit a large batch.
The practical trigger for this conversion is usually a mismatch: with .hdr, only about 1 percent precision per channel, and the shared exponent hurts saturated colours. Switching to .ppm buys you full colour with no compression artefacts and no codec to implement, which is why it is the better fit for output from ray tracers and renderers that want no encoding dependency. Because the conversion runs locally, trying it costs nothing but a few seconds of compute on your own machine.
| Aspect | Radiance HDR image (.hdr) | Portable pixmap (.ppm) |
|---|---|---|
| Format type | Lossy — discards detail it judges invisible to shrink files | Lossless — every pixel or sample is preserved exactly |
| How it stores data | rGBE encoding: three 8-bit mantissas plus one shared 8-bit exponent, 32 bits per pixel | p3 stores RGB samples as whitespace-separated ASCII integers; P6 stores them as interleaved raw bytes |
| Strongest at | hDRI environment maps and sky domes for image-based lighting in Blender, Unreal, Unity and V-Ray | output from ray tracers and renderers that want no encoding dependency |
| Weak spot | only about 1 percent precision per channel, and the shared exponent hurts saturated colours | completely uncompressed — typically several times the size of an equivalent PNG |
| Metadata | the text header carries EXPOSURE, GAMMA, PRIMARIES, SOFTWARE and free-form comment lines. There is no EXIF, XMP or ICC profile block, and this converter's raster outputs do not carry the header lines across | none beyond header comments. No ICC profile, no EXIF, no orientation flag — colour is interpreted as sRGB by convention rather than by declaration |
Drop one or more .hdr files onto the converter above, or browse for them. They load into browser memory only — nothing is uploaded, so there is no size-based pricing and no server queue.
Select .ppm in the output menu next to each file. The menu only offers targets this engine can genuinely produce, so if PPM is selectable, the route is real and validated.
Press Convert. Decoding and re-encoding happen on your device using the browser's native image pipeline and hand-tuned encoders.
Each result is signature-checked before the download unlocks, so a failed encode can never masquerade as a valid PPM file. Outputs keep the original filename with the .ppm extension.
No new loss is introduced — since hdr is lossy-oriented and ppm is lossless-oriented, everything the .hdr file still contains is carried over exactly. What was already discarded by the original lossy encode cannot be recovered, though; converting to .ppm does not "restore" quality.
Yes — the .hdr file is processed inside your browser tab and never uploaded. Decoding and re-encoding happen on your device using the browser's native image pipeline and hand-tuned encoders. Close the tab and the file is gone from memory.
Read by ImageMagick, GIMP, OpenCV, Netpbm and most scientific imaging software; not by browsers or consumer viewers. Novus Convert decodes both the ASCII and binary forms locally, honours the declared maximum value, and converts to PNG, JPEG, WebP, AVIF and the other raster targets for delivery.
Larger, sometimes much larger. A lossless .ppm must store every pixel or sample the decoder produced, without the perceptual shortcuts .hdr used. Use this route for editing headroom, not for saving space.
In .hdr, the text header carries EXPOSURE, GAMMA, PRIMARIES, SOFTWARE and free-form comment lines. There is no EXIF, XMP or ICC profile block, and this converter's raster outputs do not carry the header lines across. Re-encoding through the browser pipeline does not carry embedded metadata into the output, which doubles as a privacy scrub — check the exported file if you specifically need tags preserved.