Picture Batch CR2 to JPG
CR2 to JPG
CR2 is what Canon EOS bodies wrote from about 2004 until 2018, which makes it one of the most common raw formats there is and a great deal of it is sitting on hard drives nobody can open. Inside, a CR2 is a TIFF container holding sensor data compressed as lossless JPEG — a genuinely odd combination, and one that is decoded here properly rather than sidestepped by pulling out the preview.
Drop CR2 images here
CR2 files — or any of PNG, JPEG, WebP, AVIF, BMP, ICO, TIFF, GIF or camera raw (CR3, NEF, ARW, DNG, RAF, ORF, RW2). Everything runs on this device.
Your images never leave this device. They are decoded and re-encoded by your own browser, and the security policy on every page blocks this site from sending them anywhere.
Lossy, no transparency, opens absolutely everywhere, small for photographs.
The standard range for photographs. Hard to distinguish from the original.
Images keep their original dimensions.
JPEG cannot store transparency. Nothing in the queue currently has transparent pixels, so this has no effect yet.
Exif is carried across where both formats can hold it. Nothing currently in the queue has any.
Every pixel gets its two missing colours interpolated from its neighbours, at the full sensor resolution. The slower and more detailed option.
The value your camera recorded when the shutter fired — what you saw on the back of the camera.
Camera, lens, exposure and capture time are written into the JPEG when those fields are present. The file details show whether GPS data exists, but coordinates are deliberately not written, and colour comes out as sRGB.
What happens to your image
Expect a much smaller file than a lossless source, at the cost of some detail.
| Property | Outcome |
|---|---|
| Transparency | Preserved: CR2 images have no transparency to lose. |
| Image quality | Partly preserved: JPEG is lossy: the image is re-compressed and detail is discarded to make the file smaller. The quality control decides how much. |
| Colour | Partly preserved: Converted to sRGB. Decoding an image colour-manages it into the browser's own space, so the output is sRGB and is left untagged, which every viewer reads as sRGB. A wide-gamut source is reported before conversion. |
| Exif metadata | Preserved: Carried across if you leave metadata switched on, or removed completely if you switch it off. Camera, date and any location tag travel together. |
| Orientation | Preserved: Applied to the pixels, and the tag is reset to upright afterwards so nothing rotates the image a second time. |
What is actually inside a CR2
Three images, usually. A small thumbnail, a full-size JPEG preview for the camera's rear screen, and the sensor data itself — one reading per photosite, compressed with lossless JPEG, which is a real and rarely used corner of the JPEG standard that has nothing to do with the lossy JPEG everyone knows.
That structure makes preview extraction an easy shortcut: the preview is already a JPEG, while decoding the sensor data requires unpacking lossless JPEG and interpolating a colour filter array. This tool takes the latter path and labels the preview only if it has to be used as a fallback.
Some Canon bodies also wrote sRAW and mRAW files with a .CR2 extension. Those are a different thing again — already three colours per pixel, at reduced resolution — and they are handled too.
Colour comes from the camera, not from a guess
A sensor does not record colour, it records how much light got through each filter in the array in front of it. Getting from that to a colour anyone would recognise needs the matrix that describes how that specific model's filters respond, and those matrices were measured, not derived — they cannot be worked out from the file.
The decoder used here carries them for over a thousand camera models, and the white balance comes from what your camera recorded when you pressed the shutter. That is what makes the result look like your photograph rather than like a green or magenta approximation of it.
You can switch to a white balance computed from the image instead, which is worth trying when the camera got it wrong — mixed indoor lighting is the usual case.
Converting a whole archive
This is built for batches as well as single files. Add several CR2s, watch each one's real progress, reorder or cancel individual files, retry anything that failed, and download them one at a time or as a ZIP with a manifest listing what happened to each.
Older Canon files are often smaller than current raw files, but decode time still varies with the image dimensions, compression, browser and device. The queue shows real progress instead of estimating a guaranteed time.
If something goes wrong
The file is refused as not being camera raw.
A .CR2 extension on something that is not a CR2. A renamed CR3, or a file that failed to copy off a card.
What to do: Identification here comes from the bytes rather than the name, so the message says what the file really is. If it is a CR3, use the CR3 page instead — the two formats share nothing but the manufacturer.
Highlights look blown compared with the camera's JPEG.
Automatic brightening. Sensor data leaves headroom above what the camera meters, and a converter that ignores it produces images about a stop dark, so brightening is on by default.
What to do: This is where a raw editor with a highlight recovery stage earns its place. For a batch conversion the default is the right compromise.
The colours in a very old CR2 look slightly off.
Calibration data for early digital SLRs is less complete than for current bodies, and some of those sensors had unusual colour responses.
What to do: Try the automatic white balance. It often produces a more neutral result on files from the mid-2000s than the value the camera recorded.
Questions
What is the difference between CR2 and CR3?
They share a manufacturer and little else. CR2 is a TIFF-based container; CR3 is an ISO base media container in the same family as MP4. This decoder supports both formats for known camera models, and each has its own page and test fixture.
Does converting to JPG lose quality?
It loses latitude rather than visible quality. The JPEG will look like the photograph; what it will not do is survive heavy editing the way the raw file would, because it holds eight bits per channel instead of fourteen and has been through lossy compression once.
Can I get a lossless result instead?
Set the output to PNG. It is lossless from the decoder onwards, several times larger, and the sensible choice if the file is going to be edited further rather than sent to someone.