← Back to Blog

Guide · Feb 2026 · 10 min read

How to Convert RAW Photos to JPEG (CR2, NEF, ARW, DNG)

You shot 800 photos on a weekend trip. Your camera saved them all as RAW files. Now you need JPEGs for sharing, uploading, or printing. Here is how to batch convert them without losing the quality your camera captured.

What RAW files actually are

A RAW file is the unprocessed data from your camera's image sensor. When light hits the sensor, each pixel records a single color value (red, green, or blue) through a Bayer filter mosaic. The camera stores this raw sensor data along with metadata about the shot (ISO, shutter speed, aperture, white balance, lens info). No sharpening, no noise reduction, no white balance bake-in, no compression. The file is a faithful dump of what the sensor saw.

A JPEG, by contrast, is a processed and compressed image. When your camera saves a JPEG, it takes the raw sensor data, applies demosaicing (reconstructing full RGB values for each pixel), adjusts white balance, applies a tone curve, sharpens the image, reduces noise, and compresses it. All of those decisions are baked in. You cannot undo them.

RAW files give you maximum flexibility in post-processing. You can change the white balance, recover blown highlights, lift shadows, adjust exposure by 2-3 stops, and apply your own sharpening and noise reduction. The cost: RAW files are 2x to 6x larger than JPEGs, they require processing before sharing, and not every application can open them.

For a thorough technical overview of how camera sensors capture data, see the Wikipedia article on raw image formats.

RAW formats by camera brand

Every camera manufacturer uses its own RAW format. Some brands have multiple formats across different camera generations. Here is a reference table.

Camera BrandRAW Extension(s)Notes
Canon.CR2, .CR3CR2 for older models (5D Mark III, 6D, 80D). CR3 for newer models (R5, R6, R7). CR3 uses a different container format based on ISO BMFF.
Nikon.NEF, .NRWNEF for all DSLRs and mirrorless Z-series. NRW for some Coolpix compacts.
Sony.ARWUsed across all Alpha mirrorless and SLT cameras (A7 series, A6000 series, A1).
Adobe.DNGDigital Negative. An open, documented RAW format. Some cameras (Leica, some Hasselblad, Google Pixel phones) save DNG natively. Also used as an archival format for converting proprietary RAW files.
Fujifilm.RAFUsed across all X-series and GFX medium format cameras. The X-Trans sensor layout produces a different Bayer pattern than most other brands.
Olympus / OM System.ORFUsed by all Micro Four Thirds cameras from Olympus and OM System.
Panasonic.RW2Used by Lumix cameras (GH6, S5 II, G9 II). Also Micro Four Thirds and full-frame L-mount.
Pentax.PEF, .DNGPEF is Pentax's proprietary format. Newer models also offer in-camera DNG.
Leica.DNG, .RWLMost Leica cameras save DNG natively. Some older models use RWL.
Hasselblad.3FR, .FFFMedium format RAW files. Very large (50-100 MB per image for 100 MP sensors).
Phase One.IIQMedium format. Files can exceed 150 MB for 150 MP sensors.
Apple (iPhone).DNGProRAW on iPhone 12 Pro and later saves DNG files. 25-50 MB per photo.
Google (Pixel).DNGAvailable in the Pixel camera app's "RAW" mode.

Why convert RAW to JPEG

RAW files are essential during editing. But for final output, JPEG is still the most practical format in many situations.

  • Sharing: Email clients, messaging apps, and social media platforms accept JPEG universally. Most cannot display RAW files. Sending someone a .CR2 file is useless unless they have Lightroom or a RAW viewer.
  • Web upload: Website CMS platforms, stock photo agencies, and portfolio sites expect JPEG (or WebP/PNG). RAW files are too large for web delivery and browsers cannot render them.
  • Printing: Print labs accept JPEG and TIFF. RAW files need to be processed first. Even if you plan to print, converting to JPEG at quality 95+ preserves more than enough detail for any print size.
  • File size: A Canon CR2 from a 30 MP camera is about 35 MB. A Sony ARW from a 61 MP camera is about 60 MB. The equivalent JPEG at quality 92 is 8-15 MB. For 800 photos, that is the difference between 28 GB and 8 GB of storage.
  • Archival alongside RAW: Many photographers keep RAW files for archival and generate JPEGs for browsing, sharing, and client delivery. The JPEGs serve as lightweight previews of the full-quality masters.

Quality settings explained

JPEG quality is a number from 0 to 100. Higher values mean more detail and larger files. But the relationship is not linear.

QualityTypical File Size (24 MP)Visual ResultUse Case
10012-18 MBMathematically minimal compression. Virtually indistinguishable from the source, but diminishing returns above 95.Archival, pre-press
92-956-10 MBExcellent quality. No visible artifacts at 100% zoom. The sweet spot for photography.Client delivery, portfolio, print
85-903-6 MBVery good quality. Minor artifacts visible only at extreme zoom on solid gradients (sky, smooth skin).Social media, blog posts
75-801.5-3 MBGood quality. Slight softening visible. Acceptable for casual sharing.Web thumbnails, email attachments
60-700.5-1.5 MBNoticeable compression. JPEG block artifacts visible on edges and gradients.Thumbnails, previews
Below 60Under 500 KBHeavy compression. Obvious artifacts. Text becomes unreadable.Only when file size is critical

For RAW-to-JPEG conversion, quality 92 is the default recommendation. It preserves the detail your camera captured while keeping file sizes reasonable. If you are batch converting 500 photos for a client gallery, quality 90 saves significant disk space with no perceptible difference.

Convert with ConvX (single file)

convx convert photo.cr2 --to jpeg -q 92

This reads the Canon CR2 file, applies default demosaicing and color processing, and saves a JPEG at quality 92. The same command works with any RAW format: replace photo.cr2 with photo.nef, photo.arw, photo.dng, photo.raf, or any other supported RAW extension.

ConvX uses LibRaw under the hood for RAW decoding. LibRaw is the same library used by darktable, RawTherapee, and many other open-source RAW processors. It supports virtually every camera model released in the last 20 years.

Batch convert after a photo shoot

convx convert photos/ --to jpeg -q 90 -j 4

This converts every RAW file in the photos/ directory to JPEG at quality 90, using 4 parallel jobs. On a modern machine with an 8-core CPU, you can increase parallelism:

convx convert photos/ --to jpeg -q 90 -j 8 -d ./jpegs

The -d ./jpegs flag sends all output to a separate directory, keeping your RAW originals untouched. ConvX shows a progress bar for each file and a total progress indicator. For 800 RAW files from a 30 MP camera, expect about 3-5 minutes with 8 parallel jobs on an Apple M2 Pro or equivalent.

For more batch processing options and patterns, see the CLI documentation.

Convert specific RAW formats

If your shoot folder contains a mix of file types and you only want to convert RAW files, use glob patterns:

# Canon CR2 files only
convx convert "photos/*.cr2" --to jpeg -q 92

# Nikon NEF files only
convx convert "photos/*.nef" --to jpeg -q 92

# Sony ARW files only
convx convert "photos/*.arw" --to jpeg -q 92

# All DNG files (iPhone ProRAW, Leica, converted archives)
convx convert "photos/*.dng" --to jpeg -q 92

Converting to other formats

JPEG is not your only option. Depending on your workflow, other output formats may be better.

Output FormatCommandWhen to Use
JPEGconvx convert photo.cr2 --to jpeg -q 92General sharing, web, email, social media. Maximum compatibility.
WebPconvx convert photo.cr2 --to webp -q 85Web use. 25-35% smaller than JPEG at equivalent quality. All modern browsers support it.
AVIFconvx convert photo.cr2 --to avif -q 80Web use where maximum compression matters. 40-50% smaller than JPEG. Slower to encode.
PNGconvx convert photo.cr2 --to pngWhen you need lossless output. Large files (3-5x JPEG). Useful for graphics, not typical for photos.
TIFFconvx convert photo.cr2 --to tiffPre-press, professional printing workflows. Large files. Preserves full color depth.

Color profiles and color space

RAW files contain color data in the camera's native color space, which is typically wider than sRGB. When converting to JPEG, the color space matters.

sRGB is the standard for web, email, and most displays. If your JPEGs will be viewed on screens, sRGB is the safe choice. It is the default for most conversion tools and is what social media platforms and web browsers expect.

Adobe RGB has a wider gamut than sRGB, covering more greens and cyans. It is used in professional printing workflows. If your JPEGs are destined for a print lab that accepts Adobe RGB profiles, converting in that color space preserves more color detail. But if those files are viewed on a non-color-managed application (most web browsers handle it correctly now, but some older software does not), the colors will look muted and desaturated.

ProPhoto RGB has the widest gamut of the three. It is used internally by Lightroom and is useful for archival TIFF files. Converting RAW to JPEG in ProPhoto RGB is generally not recommended because JPEG's 8-bit color depth cannot represent the full ProPhoto gamut without banding artifacts.

ConvX converts to sRGB by default, which is correct for the vast majority of use cases. For details on color profiles and ICC specifications, see the ICC profile article on Wikipedia.

Handling white balance

One of the biggest advantages of shooting RAW is that white balance is not baked in. The camera records a white balance tag as metadata, but the actual pixel data is unmodified. You can change it freely during conversion.

When ConvX converts a RAW file, it applies the camera's recorded white balance by default. This is usually what you want: the camera made a reasonable decision at the time of capture. If the camera was set to "Auto White Balance" (AWB), the result is typically accurate for the scene.

For creative or corrective adjustments, dedicated RAW editors like Adobe Lightroom, Capture One, darktable, or RawTherapee offer fine-grained white balance controls with visual feedback. ConvX is designed for fast batch conversion with the camera's settings, not for per-image color grading.

A practical workflow: cull your photos in a viewer, do detailed edits on the keepers in Lightroom, and use ConvX for bulk converting the "good but not portfolio" shots where camera defaults are fine.

iPhone ProRAW and phone RAW files

iPhone 12 Pro and later models can shoot in Apple ProRAW, which saves DNG files. These are 25-50 MB each compared to the 3-5 MB of a standard HEIC photo. Google Pixel phones also offer a RAW/DNG mode.

The conversion process is identical to camera RAW files:

convx convert IMG_1234.dng --to jpeg -q 92

Or batch convert all ProRAW photos from a trip:

convx convert "trip-photos/*.dng" --to jpeg -q 90 -j 4 -d ./trip-jpegs

Phone RAW files are smaller than camera RAW files (12 MP vs 30-60 MP), so conversion is faster. Expect 200-400 files per minute with 4 parallel jobs.

Watch mode for continuous import

If you are tethered to a camera or importing from a card reader, ConvX's watch mode can automatically convert RAW files as they appear:

convx watch ~/Pictures/Import --to jpeg -q 92 --filter "*.cr2" -d ~/Pictures/JPEGs

Every CR2 file that lands in the Import folder gets converted to JPEG and saved to the JPEGs folder. This is useful during studio shoots where a client or art director needs to see JPEGs in real time while you shoot RAW.

Using the desktop app

Drag your RAW files (or an entire folder) into the ConvX desktop app. Select JPEG as the output format. Adjust the quality slider (92 is the default). Click convert. The app processes all files in parallel and shows a progress indicator for each one. Output files appear in the same directory as the originals, or in a custom output folder if you set one in preferences.

The desktop app shows a thumbnail preview of each RAW file before conversion, so you can verify the images are correct before starting the batch.

Platform-specific alternatives

macOS

macOS Preview can open some RAW formats and export to JPEG via File, then Export. But it processes one file at a time with no batch capability and limited quality control. Apple Photos can import RAW files and export JPEGs, but it is designed as a photo management app, not a converter. For batch work, ConvX or a dedicated RAW editor is more practical.

The sips command (Scriptable Image Processing System) built into macOS can convert some RAW formats: sips -s format jpeg photo.cr2 --out photo.jpg. It works but lacks quality control and parallel processing.

Windows

Windows requires the "Raw Image Extension" from the Microsoft Store to even display RAW thumbnails in File Explorer. The built-in Photos app can open some RAW formats but cannot batch export. Microsoft's codec packs add preview support but not conversion capability.

Linux

On Linux, dcraw is the classic command-line RAW converter. It is single-threaded and its development has slowed, but it handles most RAW formats. The successor is LibRaw, which includes the dcraw_emu command-line tool with better performance and format support. ConvX uses LibRaw internally and adds parallel processing and a simpler interface on top.

DNG as an intermediate archival format

Adobe's Digital Negative (DNG) format deserves special mention. It is an open, documented RAW format based on TIFF/EP. The Adobe DNG specification is publicly available, which means DNG files are less likely to become unreadable as proprietary formats evolve.

Many photographers convert their proprietary RAW files (CR2, NEF, ARW) to DNG for long-term archival. The conversion is lossless: all sensor data is preserved. The advantage is format longevity. Canon might stop supporting CR2 in future software. DNG, as an open standard, has broader long-term support.

If you want to archive RAW files and also generate JPEGs for sharing:

# Step 1: Convert proprietary RAW to DNG for archival
convx convert "photos/*.cr2" --to dng -d ./archive

# Step 2: Generate JPEGs for sharing
convx convert "photos/*.cr2" --to jpeg -q 92 -j 4 -d ./jpegs

Performance expectations

RAW-to-JPEG conversion is CPU-bound. The demosaicing and color processing step is the bottleneck, not disk I/O. Here are realistic throughput numbers.

CPURAW ResolutionSingle-threaded4 Parallel Jobs8 Parallel Jobs
Apple M2 Pro24 MP (Canon R6)~2.5 sec/file~0.7 sec/file~0.4 sec/file
Apple M2 Pro45 MP (Nikon Z8)~4.5 sec/file~1.3 sec/file~0.7 sec/file
Intel i7-1370024 MP~3 sec/file~0.9 sec/file~0.5 sec/file
AMD Ryzen 7 7800X24 MP~2.8 sec/file~0.8 sec/file~0.4 sec/file

For a batch of 800 photos from a 24 MP camera, expect about 5-6 minutes with 8 parallel jobs on a modern machine. Medium format RAW files (100 MP Hasselblad, 150 MP Phase One) take 3-4x longer per file due to the larger data volume.

Troubleshooting

Colors look wrong or washed out

This usually indicates a color profile mismatch. If the JPEG was converted in a wide color space (Adobe RGB, ProPhoto RGB) and you are viewing it in an application that does not read the embedded ICC profile, colors will appear desaturated. Convert using sRGB (the default in ConvX) for reliable display across all devices and applications.

If colors look overly warm or cool, the camera's auto white balance may have been inaccurate for that scene. For individual photos, adjust in a RAW editor. For batch conversions, the camera's recorded white balance is the best available default.

JPEG file is much larger than expected

At quality 100, a 45 MP RAW file can produce a 20+ MB JPEG. This is normal. JPEG quality 100 uses minimal compression. Drop to quality 92, and the same file will be 8-12 MB with no visible difference. The perceptual quality plateau is around 92-95 for photographic content.

ConvX does not recognize the RAW format

Very new cameras sometimes use updated RAW formats before conversion libraries add support. If ConvX cannot read a file from a brand-new camera model, check for a ConvX update first. If the format is still unsupported, convert to DNG using Adobe's free DNG Converter tool, then convert the DNG with ConvX.

Conversion is very slow

Check your parallelism setting. The default is single-threaded. Add -j 4 or -j 8 to match your CPU core count. Also check available RAM: each parallel job needs 200-500 MB of memory for high-resolution RAW files. If you run 8 jobs on a 16 GB machine with other applications open, the system may start swapping to disk, which slows everything down.

Dark or underexposed output

RAW files often look dark before processing because no exposure compensation has been applied. ConvX applies standard demosaicing and a basic tone curve, similar to what the camera would produce as an embedded JPEG preview. If the result is still too dark, the photo was genuinely underexposed. RAW editors can recover 1-2 stops of exposure, but a batch converter applies the same treatment to every file.

Batch convert RAW to JPEG in minutes. CR2, NEF, ARW, DNG, and more. Parallel processing, quality control, zero uploads. Get ConvX for $20 →

Related articles