A free TinyPNG alternative for bulk compression
Squish compresses unlimited images to a target file size — entirely in your browser. No uploads, no signups, no per-month limits.
If you've been using TinyPNG, Compressor.io, or iLoveIMG and hitting their 20-file caps, 5 MB file limits, or paywalls, Squish gives you the same compression quality without any of those constraints. Your images are processed using the same industry-standard codecs (MozJPEG, libavif, oxipng) — but they never leave your device.
How Squish compares
| Feature | TinyPNG | Squoosh | Compressor.io | Squish |
|---|---|---|---|---|
| Bulk compression | 20 files / batch | 1 file only | 10 files free | Unlimited |
| Target file size | No | No | No | Yes (per image) |
| Max file size | 5 MB free | No cap | 10 MB free | No cap |
| Processing | Server-side | Client-side | Server-side | Client-side |
| Images upload to a server? | Yes | No | Yes | No |
| JPEG / WebP / AVIF | Yes | Yes | Yes | Yes |
| ZIP download | Yes | No | Yes | Yes |
| Cost | Free → paid API | Free | Free → Premium | Free, always |
Comparison data based on publicly published features as of 2026. TinyPNG, Squoosh, and Compressor.io are trademarks of their respective owners; this comparison is for informational purposes only.
Why target file size matters
Most compression tools let you pick a quality percentage (60%, 80%, etc.) and hope the output is small enough. That's backwards for the most common real-world need: "make this fit under 200 KB" — whether for a WordPress upload limit, a Shopify product image, an email attachment, an Indian government form, or a job application portal.
Squish solves this with a binary-search algorithm. You set a maximum file size (per image, in KB or MB), and Squish finds the highest possible quality that stays under that limit — automatically, for every image in your batch. One image might land at quality 78, another at 64, but both fit your target.
Built for these workflows
Frequently asked
Is Squish really free? What's the catch?
Yes, completely free with no usage caps, signups, or hidden tiers. There's no catch because there are no server costs — compression happens in your browser using WebAssembly. The only "cost" is the one-time download of the codec files (~400 KB) when you first compress an image.
How is this different from TinyPNG?
TinyPNG uploads your images to their servers in the Netherlands, compresses them there, and sends them back. They limit free users to 20 images per batch and 5 MB per file. Squish does everything locally in your browser using the same underlying compression libraries (MozJPEG, libavif, oxipng) — no uploads, no batch limits, no file size cap. The trade-off is that very large images (50 MP+) take a few seconds longer because they use your CPU instead of theirs.
Are my images really not uploaded anywhere?
Correct. Open your browser's Network tab while compressing — you'll see no image uploads. The only network requests are the initial page load and the one-time fetch of the WebAssembly codec files from a CDN. Your images stay on your device.
What's the maximum number of files I can compress at once?
There is no hard limit. People have used Squish on batches of 500+ images. The practical ceiling depends on your device's memory — if you're compressing 4K photos on a phone, expect to do it in batches of 50–100. On a desktop, a few hundred is comfortable.
What's the difference between MozJPEG, WebP, and AVIF?
MozJPEG is an optimized version of standard JPEG — same file extension, works everywhere, ~10–20% smaller than typical JPEGs at the same quality. WebP is Google's format, ~25–35% smaller than JPEG and supported by every modern browser. AVIF is the newest, often 40–50% smaller than JPEG but slower to encode and not yet supported by every old browser. For web use today, WebP is the sweet spot. For maximum savings, use AVIF. For maximum compatibility, use JPEG.
Will compression reduce my image quality?
Yes — that's what lossy compression does. But modern codecs (the ones Squish uses) are specifically tuned to remove data that the human eye can't perceive. At quality 75–85, most people can't tell a compressed image from the original. If you need perfect quality, use PNG output (lossless) or keep the quality slider at 95+.
Does Squish work offline?
Once the page and codec files are loaded, yes — you can disconnect from the internet and continue compressing. You can also save the page (Ctrl+S / Cmd+S) and run it from your local disk as a fully offline tool.
Can I use Squish for client work or commercially?
Yes. Squish is free to use for any purpose — personal projects, agency work, commercial sites, freelance deliverables. No attribution required.
TinyPNG®, TinyJPG®, and Tinify® are trademarks of Voormedia B.V. Squoosh is a project of Google Chrome Labs. Compressor.io is a trademark of its respective owner. Squish is an independent tool built by @nap.codes and is not affiliated with, endorsed by, or sponsored by any of these companies. Feature comparisons are based on publicly documented capabilities and are provided for informational purposes only.