@nap.codes vs TinyPNG

TinyPNG is the most-recommended online image compressor. It works. But every file goes to their Panda API, the free tier is capped at 20 images per hour, and you have to trust their retention policy. /squish/ compresses with MozJPEG entirely in your browser — no upload, no cap, no signup, and formats TinyPNG never added like WebP + AVIF.

Side-by-side

Feature@nap.codesTinyPNG
Where compression happensYour browser (MozJPEG WASM)TinyPNG's Panda API server
Files uploaded to a serverNo — neverYes — every image
Signup requiredNoFor API access, yes
Free-tier rate limitNone20 images / hour (Web); 500/mo (API)
Batch modeUnlimited, folder-awareFree tier: 20 at a time
Output formatsJPG, PNG, WebP, AVIFJPG, PNG, WebP
Target file-size modeYes — iterate to a sizeNo
Works offlineYes (PWA cache)No — needs server
Preserves folder structureYes (ZIP round-trip)No
Enterprise SLANoYes

When to pick us

Pick /squish/ when the file is a screenshot, a product photo, a batch of blog images, or anything on a phone you'd rather not send to a foreign server. Also when the file is a WebP or AVIF — TinyPNG doesn't handle both. Also when you want a specific file-size ceiling (say, "keep this under 200 KB"); we iterate until we hit the number.

When to pick TinyPNG

Pick TinyPNG when you need an official API for server-side batch pipelines, or when you're happy paying for their subscription and want their enterprise SLA. Their compression research is a decade deep and, on some PNGs with subtle gradients, still edges MozJPEG by 2-4%. If you already have API keys and integrations, the switching cost isn't worth 2%.

Try the @nap.codes version

Open the compressor in a new tab. Drop your files, pick a target size, download.

→ Open /squish/