Free Image Compressors Compared: TinyPNG, Squoosh, and FileNorm
TinyPNG, Squoosh, and FileNorm all compress images for free in different ways. Here's the actual difference, honestly, so you can pick the right one for what you're doing.
There are several good free image compressors, and they're not really competing on the same axis — each optimizes for a different job. Here's an honest comparison, not a sales pitch.
TinyPNG
TinyPNG is simple and fast: drop an image, get a smaller one back, using smart lossy compression on PNG and JPEG. It's a great default for "just make this smaller" with minimal thinking required.
What it doesn't do: give you control over the exact output size. You get whatever compression ratio its algorithm decides is a good quality/size tradeoff — there's no way to say "I need this under exactly 100KB" because a specific portal or form demands it. For general web-image optimization, that's rarely a problem. For a form with a hard size cap, it can mean several rounds of trial and error.
Squoosh
Squoosh (a Google project) is the most powerful of the three for someone who wants to understand and control compression — it exposes real encoder settings (quality, format, chroma subsampling) with a live before/after preview, and supports modern formats like AVIF and WebP directly.
What it doesn't do: hold your hand. It's built for people who already know roughly what they're adjusting, not for "I have a government form that needs a photo under 200KB" — you'd still be manually tuning a quality slider and re-checking the file size yourself.
FileNorm
FileNorm's compressors take a different starting question: not "how much should I compress this," but "what exact size does the destination need." You set a target — 100KB, 2MB, whatever the form demands — and it binary-searches for the highest quality that fits under that number, automatically, including a controlled downscale as a last resort if quality alone can't get there.
What it doesn't do: expose fine-grained encoder controls the way Squoosh does. It's built around hitting a specific target, not tuning every parameter of the output.
Which to actually use
- A form, portal, or upload with a stated size limit (concours, visa, job application, government form): FileNorm's exact-target compressors save the trial-and-error entirely.
- General web image optimization, no specific size requirement, just "make my site faster": TinyPNG is fast and simple for that.
- You want format-level control (AVIF vs WebP vs JPEG, specific quality/chroma settings): Squoosh gives you that control directly.
All three run reasonably fast and don't require an account for basic use. FileNorm and Squoosh both process entirely in your browser (nothing uploaded to a server); TinyPNG's compression happens server-side, which is worth knowing if you're compressing anything sensitive.