Back to Blog
·4 min read·quickpix-image-compressor

Squoosh on Mac — what it's great at, why it can't open HEIC, and offline alternatives

Squoosh is the best free way to compress one image in a browser. But it can't decode iPhone HEIC photos, has no batch mode, and its CLI is archived. Here's when it fits and what Mac users switch to.

Squoosh deserves its reputation. Google Chrome Labs built a genuinely great tool: drag one image into the browser tab, get a live split-view preview, and dial MozJPEG, WebP, AVIF, or OxiPNG settings with instant feedback. All the encoding runs locally in WebAssembly — nothing uploads. For tuning a single hero image for the web, it's still the tool we'd point anyone to first.

But if you landed here after Squoosh refused a file or you got tired of doing photos one at a time, you've hit one of its real limits. There are three.

Limit 1: Squoosh can't open HEIC files

We tested this while writing the guide (September 2026, Chrome on macOS): drop a .heic into Squoosh and the editor fails with "Source decoding error: Couldn't decode image." That's not a bug in Squoosh — it can only read what the browser hands it, and HEIC decoding in browsers is a patchwork: Safari decodes it, Chromium can sometimes display HEIC on macOS, Firefox refuses entirely (HEVC patent licensing), and none of that reliably reaches the canvas pipeline Squoosh depends on. In practice, your iPhone's default camera format is the one format the best-known web compressor can't ingest.

Two ways around it on a Mac, both offline:

  • Convert first, then Squoosh. macOS can transcode HEIC natively: sips -s format jpeg photo.heic --out photo.jpg — or see our full guide to batch-converting HEIC to JPEG. Then feed the JPEG to Squoosh.
  • Skip the browser entirely. A native Mac app reads HEIC directly because macOS itself decodes it. QuickPix opens HEIC alongside 28+ other formats and compresses to WebP/AVIF/JPEG without the intermediate step.

Limit 2: One image at a time

Squoosh's UI is deliberately single-image — that's what makes the live preview possible. There's no folder drop, no queue. Google did ship a batch CLI (@squoosh/cli / libsquoosh), but the repository was archived and the CLI removed from active development, so scripting Squoosh is a dead end today.

For batches on a Mac you're choosing between:

| | Squoosh (browser) | sips (built-in Terminal) | QuickPix (native app) | | --- | --- | --- | --- | | Batch / folders | ✕ one image | ✓ via shell loops | ✓ drag a folder, or watch it | | HEIC input | ✕ | ✓ | ✓ | | AVIF / WebP output | ✓ | partial (macOS 13+ WebP; no AVIF encode) | ✓ | | Live before/after preview | ✓ best in class | ✕ | ✓ | | Works offline | ✓ (after load) | ✓ | ✓ | | Price | Free | Free | Free |

sips is the underrated middle option — it ships with every Mac and handles resize-and-convert loops well (our sips command-line guide covers the syntax) — but it has no quality preview and its modern-format support stops short of AVIF encoding.

Limit 3: Settings don't persist across a workflow

Because each Squoosh session is one image in one tab, "compress these 40 product shots to WebP at the same quality" means repeating the same dial-turning 40 times, or trusting defaults. Tools built for repeat work — a watched folder that auto-compresses whatever lands in it, or a saved preset — remove that repetition. That's the main thing you're buying (for zero dollars, in QuickPix's case) when you move from a web tool to a native one.

So when is Squoosh still the right call?

Honestly, often: one image, a web target, and you want to see the quality/size trade-off before committing — Squoosh's split-slider preview is still the best teaching tool for choosing between WebP, AVIF and JPEG. Use it for the one-offs. Switch to sips or a native batch app the moment the job involves a folder, a HEIC, or a workflow you'll repeat next week.

FAQ

Why won't Squoosh open my iPhone photos? iPhone photos are HEIC, and browser HEIC decoding is unreliable — in our test (Chrome on macOS, September 2026) Squoosh failed with a source decoding error. Convert to JPEG first (sips -s format jpeg in.heic --out out.jpg) or use a native Mac compressor that reads HEIC directly.

Does Squoosh upload my images to Google? No — encoding runs in-browser via WebAssembly. It's one of the few web tools where "nothing leaves your machine" is actually true once the page has loaded.

Is there a Squoosh app for Mac? Squoosh is installable as a PWA from the browser, which gets you an icon and offline use — but the same single-image, no-HEIC limits apply. There's no native Squoosh.

Can I batch compress with Squoosh? Not in the UI, and the official CLI has been archived. For batches use sips loops or a native app with folder support.

#mac#squoosh#image-compression#heic#quickpix

Written by

Peter Zhang

Building local-first Mac & iOS productivity apps at Obelisk Club.