Skip to content
Zumkor
← Back to blog · · 8 min read

How to convert RAW to JPG on Mac (CR2, CR3, NEF, ARW — batch)

Convert camera RAW files — CR2, CR3, NEF, ARW, RAF, DNG — to JPG on your Mac with Preview, sips, or Zumkor. Batch whole shoots offline, nothing uploaded.

guides images mac

Zumkor batch-converts camera RAW files to JPG or TIFF on your Mac — free for 7 days, batch whole folders, 100% offline. Then one-time $19.99, yours forever. Needs macOS 14+ on an Apple silicon Mac — any M-series machine.

Download on the App Store Zumkor for Mac

The shoot went fine. The problem starts afterward: a card full of .CR3 or .NEF or .ARW files, and a recipient who can’t do anything with them. The client’s upload portal rejects them, the family group chat shows grey placeholders, the print shop wants “JPEG only,” and even you can’t quickly flick through them on a machine without your editing suite. RAW is the right format to shoot — it’s the wrong format to hand anyone.

The fix is to convert RAW to JPG on your Mac, and there’s genuinely good news: macOS decodes most camera RAW formats natively, so you don’t need Lightroom, a plugin, or — worst of all — a website that wants you to upload 30 MB per frame. This guide covers the built-in routes, the command line, and the drag-a-whole-shoot batch route, all fully offline.

What RAW-to-JPG conversion is — and what it isn’t

A RAW file (Canon CR2/CR3, Nikon NEF, Sony ARW, Fuji RAF, Olympus ORF, Panasonic RW2, Pentax PEF, Sigma X3F, or the vendor-neutral DNG) isn’t really an image yet. It’s the sensor’s readout — 12 to 14 bits per channel of unprocessed data — waiting for someone to decide the white balance, the tone curve, the sharpening. That’s its superpower for editing and the reason nothing else opens it.

Converting to JPG renders the photo: the decoder applies a standard, camera-faithful interpretation and writes an ordinary 8-bit image every device on earth can open. Two consequences worth being honest about:

  • You get the default rendering, not your edit. Every method in this guide — Preview, sips, Zumkor — is a converter, not a RAW developer. If a shot needs exposure rescue or color grading, do that in an editor (Photos, Lightroom, Capture One, the free RawTherapee) and export the JPG from there. Conversion is for the far more common case: the shots are fine, they just need to become files people can open.
  • The JPG is a delivery copy, not a replacement. It holds a fraction of the RAW’s data. Convert for sharing, keep the RAWs for the archive.

If neither caveat scares you — and for handing off a shoot, they shouldn’t — here’s how.

Why not a raw-to-jpg website?

The usual privacy argument against upload converters goes double for RAW. The files are huge (a single CR3 runs 25–60 MB, so a 400-shot card is over 10 GB of uploading), and they’re loaded: full-resolution originals with EXIF metadata that can include GPS coordinates of the location, exact timestamps, camera body serial numbers, and maker notes. Client work, second-shooter handoffs, photos of your home — none of that belongs on a converter site’s server. Everything below runs on your Mac with Wi-Fi off.

Method 1: Preview (a few frames, zero installs)

macOS’s RAW support means Preview just… opens these files.

  1. Double-click the RAW file (or right-click → Open With → Preview).
  2. File → Export.
  3. Set Format to JPEG, pick a quality (80–90% is the visually-identical sweet spot).
  4. Save.

For a handful at once: select several RAW files in Finder, open them all in Preview, select all the thumbnails in the sidebar (⌘A), then File → Export Selected Images. Fine up to a couple dozen frames; past that the sidebar routine gets old fast.

One caveat that applies to Preview and sips alike: they lean on macOS’s built-in RAW decoders, which Apple updates over time. A camera released last month may not decode until a macOS update adds it — if your brand-new body’s files won’t open, that’s why, not corruption.

Method 2: sips (free batch, Terminal)

For a whole folder without installing anything, macOS’s built-in sips command handles RAW input directly.

One file:

sips -s format jpeg photo.CR3 --out photo.jpg

A card’s worth (Canon example — swap the extension for NEF/ARW/RAF/etc.):

cd /Volumes/EOS_CARD/DCIM/100CANON
mkdir -p ~/Pictures/shoot-jpgs
for f in *.CR3; do
  [ -e "$f" ] || continue
  sips -s format jpeg -s formatOptions 85 "$f" --out ~/Pictures/shoot-jpgs/"${f%.*}.jpg"
done

-s formatOptions 85 sets JPEG quality. This is free, fast, and scriptable. Its rough edges: no preview of results, no resizing in the same breath (that’s a separate -Z flag and another decision), metadata — including GPS — rides along silently unless you strip it separately, and one mistyped --out can clobber a file. Perfectly good for the occasional card; unforgiving as a weekly routine.

Method 3: Zumkor (drag the shoot, get deliverables)

When RAW-to-JPG is a recurring step — every shoot, every scan session, every drone flight — the job wants to be one drag. This is exactly what Zumkor is built for (macOS 14 or later, Apple silicon — any M-series Mac):

  1. Drag in the files, the folder, or the whole card’s DCIM directory — “Look inside subfolders” picks up nested capture folders, and the queue takes up to 2,000 files.
  2. Pick JPG as the output. Presets shape the result by destination, no sliders anywhere: “Email-friendly” resizes to 1600 px for sending, “Web small” (1280 px) and “Web large” cover site use, and “Privacy export” strips GPS coordinates, serial numbers, and maker notes on the way out — the right default for anything headed to the public internet.
  3. Click Convert, choose the output folder (Zumkor remembers it), and the JPGs land there — flattened into one folder or mirroring the card’s structure, your call, with filename templates to turn _DSC4021.ARW chaos into smith-wedding-001.jpg order. The RAW originals are never touched.

It reads the whole RAW alphabet — Canon CR2/CR3, Sony ARW, Nikon NEF, Fuji RAF, Olympus ORF, Panasonic RW2, Pentax PEF, Sigma X3F, and DNG — alongside everything else in the format matrix. Everything runs on-device: a 10 GB card converts without one byte uploaded, on the plane home from the shoot if you like.

Two details photographers will care about: RAW conversions deliberately output sRGB, the only color space that renders consistently across browsers, phones, and clients’ uncalibrated laptops — the correct choice for delivery JPGs (wide-gamut belongs in your editing pipeline, not your handoffs). And if the shoot needs an archival intermediate rather than a delivery copy, the “Archive (TIFF)” preset writes TIFF instead of JPG from the same queue.

Pricing fits the workflow rather than taxing it: free for 7 days, then a one-time $19.99 — no subscription, which matters when the alternative “pro” tools bill monthly forever. And it’s the same app that handles the rest of the delivery pile: HEIC from the second shooter’s iPhone, WebP pulled from the web, even the highlight video that’s too big to email.

The honest trade-off: for five frames, once, Preview is right there. Zumkor earns its place at “every card, every week,” when the output needs consistent naming and sizing, or when GPS-stripping should happen without you remembering it.

Automate the card dump

Zumkor’s Apple Shortcuts actions run headless, which turns the whole routine into a folder-watch automation: a shortcut on a ~/Incoming-RAW folder runs “Convert Files” to JPG (or “Resize Pictures” for web-sized output), then “Rename Files for Delivery” for clean sequential names — so dumping a card is the workflow, and the deliverables are waiting by the time the coffee’s poured.

Prevention: shoot RAW+JPEG when JPGs are always needed

If every card ends in a conversion session, consider making the camera do it at capture time. Every current Canon, Nikon, Sony, and Fuji body has a RAW+JPEG mode that writes both files for each frame: the RAW for your archive and edits, a finished JPG ready to hand over the moment the card is out.

The trade-offs are the usual ones. Each shot costs roughly a JPG’s worth of extra card space, burst depth shrinks slightly on slower cards, and the JPGs carry the camera’s in-body rendering — fine for delivery, not something you can re-decide later. It also doesn’t resize, rename, or strip GPS for you, so shoots that need web-sized, cleanly named, or location-scrubbed files still end in a batch pass anyway. RAW+JPEG suits the “family wants the photos tonight” cases; the conversion workflow above suits everything with requirements.

For cards already full of RAW-only frames, prevention has sailed — convert with any method above.

Getting the output right

  • Quality: 80–90%. Visually identical to 100% for photographs at a fraction of the size. Below ~70%, skies and skin gradients start banding.
  • Resize for the destination. Nobody’s email or CMS wants 8,000-pixel files. 1600–2048 px on the long edge is right for sharing and web; keep full resolution only for print handoffs.
  • Metadata is a decision, not a default. Capture time and lens info are often worth keeping for clients; GPS coordinates of a private home or an unreleased location are not. Strip location data on anything public — one checkbox in Zumkor’s “Privacy export”, a separate manual step everywhere else (the full EXIF-stripping guide covers every route).
  • Never overwrite the RAWs. Convert to a different folder (every Zumkor conversion already works this way — originals stay put). The JPG is a print of the negative; keep the negative.
  • If a shot needs editing, edit first. Converter-rendered JPGs bake in the default look. Develop the hero shots in your editor, batch-convert the rest.

Bottom line

  • A few frames: Preview → File → Export → JPEG. Free, built-in, done.
  • A folder, free, comfortable in Terminal: the sips loop above.
  • Every shoot, with renaming, resizing, and GPS-stripping in the same pass: Zumkor — drag the card, pick JPG, convert up to 2,000 files offline. Free for 7 days, then one-time $19.99, yours forever.

Whatever you pick, keep the job local. Ten gigabytes of geotagged, full-resolution originals is the least appropriate payload on the internet for a “free online converter” — and your Mac already knows how to read every one of those files.

FAQ

Does converting RAW to JPG lose quality?

Yes, by design — a RAW file holds 12–14 bits of sensor data per channel and a JPG holds 8, plus lossy compression. What you get is the normal, finished rendering of the photo, which is exactly right for sharing, delivery, and the web. The rule is simple: JPGs are for handing off, RAWs are for editing — keep the RAW originals if you ever plan to reprocess.

How do I convert RAW to JPG on a Mac without installing anything?

For a few photos, open them in Preview and use File → Export with Format set to JPEG. For more, Terminal’s built-in sips command converts in bulk: sips -s format jpeg photo.CR3 --out photo.jpg, or a for-loop over the folder. Both use macOS’s built-in RAW decoding, so very new camera models may need a macOS update before the files open.

Can I batch convert a whole memory card of RAW files to JPG at once?

Yes. Free route: a sips loop in Terminal over the folder. Faster route: drag the folder into Zumkor, pick JPG, and click Convert — it queues up to 2,000 files, reads Canon, Nikon, Sony, Fuji, Olympus, Panasonic, Pentax, Sigma, and DNG RAW, and converts everything on-device with the originals left untouched.