← All articles 11 min read

Convert RAW to JPG: 5 Free Methods for Any Camera

RAW files are what your camera produces when it's doing the least amount of work — capturing the full sensor data before any in-camera processing. That's exactly why photographers love them, and exactly why they're a pain to share, email, or upload anywhere. A Canon CR2 won't open in a browser. A Nikon NEF is too large to attach to an email. A Sony ARW confuses most image hosts.

JPG is the universal format. Every device reads it, every platform accepts it, and it's typically 80–90% smaller than the original RAW file at equivalent visual quality.

This guide covers five free methods to convert RAW to JPG — from a full-featured RAW processor to a single CLI command — for every camera brand and every workflow.


Methods at a Glance

Method OS Batch License Best For
darktable 4.6 Windows, macOS, Linux Yes GPL v3 Full post-processing + export
RawTherapee 5.10 Windows, macOS, Linux Yes GPL v3 Non-destructive editing, advanced users
macOS Photos / Preview macOS only Limited Proprietary (free) Quick one-off conversions
dcraw 9.28 CLI Windows, macOS, Linux Yes Public domain Scripting and automation
ImageMagick 7.1 Windows, macOS, Linux Yes Apache 2.0 Build pipeline integration

What Is a RAW File?

A RAW file contains unprocessed sensor data straight from the camera's image sensor — no sharpening, no white balance adjustment, no compression applied. Think of it as a digital negative. The camera records everything the sensor captured; you decide what to do with it in post-processing.

Different manufacturers use different RAW formats: Canon uses CR2 (older) and CR3 (newer bodies from 2018+), Nikon uses NEF, Sony uses ARW, Olympus/OM System uses ORF, and Fujifilm uses RAF. They all work the same way — proprietary, uncompressed or losslessly compressed sensor data — but each requires the converter to know that specific camera's color science and sensor characteristics.

RAW files are not images in the traditional sense. Your browser cannot render a NEF. Most operating systems won't thumbnail a CR2 without a codec installed. They need to be developed — processed into a standard raster format like JPG, TIFF, or PNG — before they're usable outside your camera or RAW editor.

For a closer look at how lossless formats compare to JPG, see our JPG vs PNG guide. For professional workflows that need higher quality than JPG, TIFF is the intermediate archival format most print professionals use before final compression. If you ever need to move a TIFF file to JPG, we also cover how to convert TIFF to JPG.


Method 1 — darktable 4.6

License: GPL v3 (free, open source) Platforms: Windows 10+, macOS 13+, Linux

darktable is a full non-destructive RAW processor — the open source answer to Adobe Lightroom. For RAW-to-JPG conversion, you don't need to touch its editing modules. The export pipeline alone handles batch conversion with precise quality control.

Install darktable 4.6:

Batch convert a folder of RAW files to JPG:

  1. Open darktable and switch to the Lighttable view (top left)
  2. Add your RAW folder: click ImportFolder, navigate to your RAW files, click Import
  3. Select all imported images: Ctrl+A (Windows/Linux) or Cmd+A (macOS)
  4. Click the Export button in the right panel (or press Ctrl+E)
  5. Set Format: JPEG
  6. Set Quality: 90 (adjust down to 75 for smaller files, up to 95 for maximum quality)
  7. Set Output directory: choose where to save the JPGs
  8. Click Export — darktable processes all selected files using its default color science per camera

What darktable does to the RAW file by default: It applies a base exposure curve, your camera's embedded color profile, and neutral noise reduction. No heavy edits — just sensible defaults that produce a clean JPG close to what your camera's JPEG engine would produce.

darktable handles virtually every RAW format in use — Canon CR2, CR3, Nikon NEF, Sony ARW, Olympus ORF, Fujifilm RAF, and more. Camera support is tied to the version of LibRaw bundled with the release; darktable 4.6 ships with LibRaw 0.21.


Method 2 — RawTherapee 5.10

License: GPL v3 (free, open source) Platforms: Windows 10+, macOS 12+, Linux

RawTherapee is a more technically-oriented RAW processor than darktable. Its batch queue is straightforward, and it gives you finer control over demosaicing algorithms — useful if darktable's defaults aren't producing the color rendering you want from a specific camera.

Install RawTherapee 5.10:

Batch convert to JPG:

  1. Open RawTherapee
  2. In the File Browser tab, navigate to your RAW folder
  3. Select all RAW files: Ctrl+A
  4. Right-click → Put in Queue
  5. Switch to the Batch Queue tab
  6. Set Output format: JPEG, Quality: 90
  7. Set Output directory
  8. Click Start processing

Tip: RawTherapee includes a neutral "Default" processing profile. If you want conversions that look exactly like your camera's JPEG rendering (same white balance, same tone curve), switch the default profile to "Camera standard" in Preferences → Image Processing.


Method 3 — macOS Photos / Preview

License: Proprietary, free (included with macOS) Platforms: macOS only

If you're on a Mac and only need to convert a handful of files, you don't need to install anything.

Using Preview (single file):

  1. Open the RAW file in Preview (macOS 14 Sonoma supports most major RAW formats natively via the CoreImage RAW decoder)
  2. FileExport
  3. Set Format: JPEG
  4. Set Quality slider (JPEG quality 0–100)
  5. Click Save

Using Photos (import then export):

  1. Drag your RAW files into Photos
  2. Select the imported images
  3. FileExportExport [n] Photos
  4. Set Photo Kind: JPEG, JPEG Quality: High or Maximum
  5. Click Export

Limitations: macOS's RAW support lags behind dedicated converters. Very recent camera models (bodies released in 2025) may not be decoded correctly until Apple updates the system RAW library — usually 3–6 months behind camera release. For older Canon, Nikon, and Sony bodies, it works reliably.


Method 4 — dcraw 9.28 CLI

License: Public domain Platforms: Windows (via WSL or Cygwin), macOS, Linux

dcraw is the foundational RAW decoding library. Most GUI converters — including RawTherapee and some versions of darktable — used dcraw or its successor LibRaw internally. Running it directly gives you scriptable, repeatable batch conversion in a single terminal command.

Install dcraw 9.28:

Convert a single RAW file to JPG:

dcraw -c -q 3 -W IMG_0001.CR2 | cjpeg -quality 90 > IMG_0001.jpg

Flags:

The output of dcraw is a PPM file piped to cjpeg (from the libjpeg package) for JPEG encoding.

Batch convert an entire folder:

for f in *.CR2; do
  dcraw -c -q 3 -W "$f" | cjpeg -quality 90 > "${f%.CR2}.jpg"
done

Replace CR2 with NEF, ARW, ORF, or RAF as needed. To process multiple formats in one pass:

for f in *.CR2 *.NEF *.ARW *.ORF *.RAF; do
  [ -f "$f" ] || continue
  base="${f%.*}"
  dcraw -c -q 3 -W "$f" | cjpeg -quality 90 > "${base}.jpg"
done

Color space note: dcraw defaults to sRGB output (-o 1). If you need Adobe RGB output, use -o 2. For maximum file compatibility, stick with sRGB.


Method 5 — ImageMagick 7.1 with Delegates

License: Apache 2.0 Platforms: Windows, macOS, Linux

ImageMagick 7.1 does not natively decode RAW sensor data — it delegates RAW file handling to dcraw or UFRaw. This means ImageMagick is most useful when it's already part of your build pipeline and you want a single unified command surface rather than switching tools.

Install ImageMagick 7.1:

Verify RAW delegate support:

magick -list delegate | grep -i raw

You should see dcraw listed. If not, install dcraw first (sudo apt install dcraw or brew install dcraw), then reinstall ImageMagick.

Convert a single RAW file:

magick IMG_0001.NEF -quality 90 IMG_0001.jpg

ImageMagick internally calls dcraw to decode the NEF, then encodes the result as JPEG. The -quality 90 flag sets JPEG quality (1–100 scale).

Batch convert:

magick mogrify -format jpg -quality 90 *.NEF

mogrify converts files in-place (output replaces input by default). To output to a separate directory:

magick mogrify -format jpg -quality 90 -path ./jpg-output *.NEF

Important: ImageMagick 7.1's RAW support quality is entirely dependent on the installed dcraw version. If dcraw 9.28 is installed, you get dcraw 9.28's color science. ImageMagick is the command-line glue, not the decoder.

For general format conversions (PNG, JPG, WebP, AVIF) without the RAW complexity, Pixotter's browser-based converter handles the common cases without any software installation.


RAW Format Quick Reference

Format Extension Manufacturer Notes
CR2 .cr2 Canon EOS bodies 2004–2018. Superceded by CR3 on newer bodies.
CR3 .cr3 Canon EOS R series and recent Rebel/M bodies. HEIF-based container.
NEF .nef Nikon All Nikon DSLRs and most mirrorless Z-series bodies.
NRW .nrw Nikon Nikon Coolpix compact cameras — a compressed NEF variant.
ARW .arw Sony All Sony Alpha mirrorless and DSLR bodies (A-mount and E-mount).
ORF .orf Olympus / OM System All Olympus PEN and OM-D bodies. OM System continues using this format.
RAF .raf Fujifilm All Fujifilm X-series and GFX bodies. X-Trans sensor layout requires specialized demosaicing.
RW2 .rw2 Panasonic Lumix bodies. Supported by all tools above.
DNG .dng Adobe (open format) Leica, Pentax, some Ricoh. Also used as the export format from Adobe DNG Converter.
PEF .pef Pentax Pentax/Ricoh DSLRs and mirrorless K-series bodies.

Fujifilm X-Trans note: RAF files from X-Trans sensor cameras (X100, X-T, X-S, and X-Pro series) use a non-Bayer color filter array. dcraw and RawTherapee both support X-Trans demosaicing, but the algorithm choice matters more than with Bayer sensors. In RawTherapee 5.10, use the "LMMSE" or "IGV" demosaicing methods for X-Trans files — they produce less maze/worm artifacts than the default.


After Converting: Working With Your JPGs

Once you have JPGs, you may need to optimize them further before using them on the web or in email:


FAQ

Q: Can I convert RAW to JPG without losing quality?

You will always lose some information converting RAW to JPG, because JPG is a lossy format and RAW contains data that JPG cannot represent (12–14 bit color depth vs. JPG's 8 bit). At quality 90+, the perceptual difference is negligible for most uses. If quality loss is unacceptable, convert to TIFF instead — see what is TIFF for when that trade-off makes sense.

Q: Which method produces the best image quality?

darktable and RawTherapee produce the highest quality results because they apply camera-specific color science and give you full control over the demosaicing algorithm. dcraw and ImageMagick produce good results but with less camera-specific tuning. macOS Preview uses Apple's CoreImage decoder, which is competent but not as well-tuned for edge cases.

Q: How long does batch conversion take?

On a modern laptop (M-series Mac or AMD Ryzen 5), expect roughly 1–3 seconds per RAW file for a full-quality conversion. A folder of 500 RAW files takes about 10–20 minutes. darktable and RawTherapee both use multi-threading, so they'll use all available CPU cores. dcraw is single-threaded; for large batches, use xargs -P to parallelize: ls *.NEF | xargs -P 8 -I{} bash -c 'dcraw -c -q 3 -W "{}" | cjpeg -quality 90 > "${1%.NEF}.jpg"' _ {}.

Q: Does Pixotter support RAW file conversion?

Not directly. RAW decoding requires camera-specific color science that's complex to implement in a browser WASM context. Pixotter's /convert/ page handles standard raster formats — JPG, PNG, WebP, AVIF — once you have your RAW files developed into one of those formats using the tools above.

Q: What quality setting should I use for JPEG export?

For web use: 75–85. For print: 90–95. For archival JPG (if you need to keep a compressed copy alongside the RAW): 95. Quality settings above 95 produce diminishing returns — the file size grows significantly while perceptual improvement is barely visible.

Q: Is it safe to delete RAW files after converting?

Only if you no longer need them. RAW files are your originals — they carry more color information, allow non-destructive re-editing, and can be re-exported with different settings later. A common workflow is to keep RAW files on an external drive for archival, convert the selects to JPG for distribution, and keep both. Storage is cheap relative to re-shooting.


Wrapping Up

Converting RAW to JPG is a solved problem — the tools above have been doing it reliably for years. For most photographers, darktable 4.6 is the right choice: it's free, handles every camera brand, and produces excellent results out of the box. For scripting and automation, dcraw 9.28 and ImageMagick 7.1 are the workhorses. RawTherapee 5.10 is worth knowing if you want more control over demosaicing algorithms, particularly for Fujifilm X-Trans files.

Once you have your JPGs, the usual next step is getting file sizes down for web use. Pixotter's compressor handles that in the browser — drop your JPGs in, get web-optimized files out, no software required.