Add your CR2 file
Drop one or more .cr2 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.
Developing a .cr2 camera file into .ppm turns unprocessed sensor data into a finished image any app can open. 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.Developing a .cr2 camera file into .ppm turns unprocessed sensor data into a finished image any app can open. A .cr2 file is a Canon RAW photograph, the second-generation format Canon's DSLRs wrote from 2004 until the switch to CR3 in 2018. It records the sensor's mosaiced readout before white balance, sharpening, or color rendering are baked in, giving full latitude to reprocess the shot later.
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 .cr2, files run 20-40 MB where a JPEG would be a few megabytes. 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 | Canon RAW 2 (.cr2) | Portable pixmap (.ppm) |
|---|---|---|
| Format type | Lossless — every pixel or sample is preserved exactly | Lossless — every pixel or sample is preserved exactly |
| How it stores data | tIFF container with multiple IFDs holding the raw sensor image and several embedded JPEG previews | p3 stores RGB samples as whitespace-separated ASCII integers; P6 stores them as interleaved raw bytes |
| Strongest at | developing photos from Canon DSLRs with full exposure and white-balance latitude | output from ray tracers and renderers that want no encoding dependency |
| Weak spot | files run 20-40 MB where a JPEG would be a few megabytes | completely uncompressed — typically several times the size of an equivalent PNG |
| Metadata | full EXIF including lens and exposure data, extensive Canon MakerNotes, and XMP sidecar or embedded metadata are all standard; MakerNotes hold camera-specific details generic tools may not parse | 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 .cr2 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. A LibRaw WebAssembly decoder demosaics the sensor data in your browser and renders a developed image ready for export.
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.
Since cr2 is lossless-oriented and ppm is lossless-oriented, the conversion preserves the source content exactly as stored; no additional compression pass is applied beyond what .ppm itself requires.
Yes — the .cr2 file is processed inside your browser tab and never uploaded. A LibRaw WebAssembly decoder demosaics the sensor data in your browser and renders a developed image ready for export. 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.
It depends on the content: p3 stores RGB samples as whitespace-separated ASCII integers; P6 stores them as interleaved raw bytes. Convert one representative file first and compare before batch-processing a large set.
In .cr2, full EXIF including lens and exposure data, extensive Canon MakerNotes, and XMP sidecar or embedded metadata are all standard; MakerNotes hold camera-specific details generic tools may not parse. 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.