I Benchmarked 5 Image Compressors With the Same 10 Photos — Here Are the Real Numbers

I ran the same 10 images through five different online compressors and measured everything: output file size, visual quality loss, compression speed, and what happened to my data. Two of the five uploaded my photos to servers in jurisdictions I couldn’t identify. One silently downscaled my images. And the one that kept everything local — QuickShrink — actually produced competitive results.

Here’s the full breakdown.

The Test Setup

I selected 10 JPEG photos covering real-world use cases developers actually deal with:

  • Product shots (3 images) — white background e-commerce photos, 3000×3000px, 4-6MB each
  • Screenshots (3 images) — IDE and terminal captures, 2560×1440px, 1-3MB each
  • Photography (2 images) — landscape shots from a Pixel 8, 4000×3000px, 5-8MB each
  • UI mockups (2 images) — Figma exports with gradients and text, 1920×1080px, 2-4MB each

Total input: 10 files, 38.7MB combined. Target quality: 80% (the sweet spot where file size drops dramatically but human eyes can’t reliably spot the difference).

The five compressors tested:

  1. TinyPNG — the default most developers reach for
  2. Squoosh — Google’s open-source option (squoosh.app)
  3. Compressor.io — popular alternative with multiple format support
  4. iLoveIMG — widely recommended in “best tools” roundups
  5. QuickShrink — our browser-only compressor at tools.orthogonal.info/quickshrink

File Size Results: Who Actually Compresses Best?

Here’s where it gets interesting. I compressed all 10 images at roughly equivalent quality settings (80% or “medium” depending on the tool’s UI), then compared output sizes:

Average compression ratio (smaller = better):

  • TinyPNG: 72.4% reduction (38.7MB → 10.7MB)
  • Squoosh (MozJPEG): 74.1% reduction (38.7MB → 10.0MB)
  • Compressor.io: 68.9% reduction (38.7MB → 12.0MB)
  • iLoveIMG: 61.3% reduction (38.7MB → 15.0MB)*
  • QuickShrink: 70.2% reduction (38.7MB → 11.5MB)

*iLoveIMG’s “medium” setting is more conservative than the others. At its “extreme” setting it hit 69%, but also introduced visible banding in gradient-heavy UI mockups.

Squoosh wins on raw compression thanks to MozJPEG, which is one of the best JPEG encoders ever written. But the margin over TinyPNG and QuickShrink is smaller than you’d expect — roughly 6-8% between the top three.

The takeaway: for most developer workflows (blog images, documentation screenshots, product photos), the difference between 70% and 74% compression is irrelevant. You’re saving maybe 200KB per image. What matters more is everything else.

Speed: Canvas API vs Server-Side Processing

This is where architectures diverge. TinyPNG, Compressor.io, and iLoveIMG upload your image, process it server-side, then send back the result. Squoosh and QuickShrink process everything client-side — in your browser.

Average time per image (including upload/download where applicable):

📚 Continue Reading

Sign in with your Google or Facebook account to read the full article.
It takes just 2 seconds!

Already have an account? Log in here

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *