@nap.codes vs Squoosh

Squoosh (from the Chrome team) is the gold standard for tuning a single image — you get side-by-side preview, every codec knob, and unmatched quality control. It processes one image at a time. /squish/ uses the same MozJPEG/OxiPNG engines but adds bulk mode with folder preservation, target-size iteration, and ZIP export. Different tools for different jobs.

Side-by-side

Feature@nap.codesSquoosh
Encoder enginesMozJPEG, OxiPNG, WebP, AVIFMozJPEG, OxiPNG, WebP, AVIF, JXL
Where it runsYour browser (WASM)Your browser (WASM)
Bulk mode✓ Full folderNo — single image
Preserves folder structure✓ via ZIPN/A
Side-by-side quality previewDelta % + preview✓ Pixel-perfect diff
Codec knob depth~6 knobs per format~15 knobs per format
Target file-size mode✓ Iterate to a sizeNo
JXL supportNo
Signup requiredNoNo
Works offline✓ PWA cache✓ PWA cache

When to pick us

Pick /squish/ when you've got a batch — a folder of blog images, a portfolio site's photo grid, a screenshot dump. Also when you have a specific file-size target ("everything under 200 KB"). Also when you want ZIP output with the folder structure preserved.

When to pick Squoosh

Pick Squoosh when you're tuning a single hero image and want the finest-grained control over MozJPEG's trellis quantization or WebP's spatial noise shaping. Their per-codec knob depth is unmatched. Also for JXL — /squish/ hasn't added it yet.

Try the @nap.codes version

Drop a folder, pick a codec, target a file size, download ZIP.

→ Open /squish/