Skip to content
Searchpedia SEO field notes Callum Bennett Callum

Tool lab

Tinypng

I use TinyPNG almost daily for quick compressions, but I've stopped relying on it for batch workflows because the API cost adds up and the lack of quality control frustrates me.

Intermediate5 min readUpdated 2026-07-27Notes by Callum Bennett

The short verdict

  • Use TinyPNG for one-off compressions of PNG and JPEG files before uploading to your site, but test output on images with text or logos.
  • Avoid relying on the free tier for batch processing large volumes; the API costs can surprise you and the 20-image limit is restrictive.
  • Consider integrating TinyPNG into your CMS via their WordPress plugin if you don't need advanced controls or lossless options.
  • For projects where you need to fine-tune compression quality or handle large batches, switch to Squoosh or a local tool like ImageOptim.
  • Combine TinyPNG with a responsive image setup using srcset and measure the impact on load times with a website speed test.

What it's good at

TinyPNG is excellent for quick, one-off compressions. I upload a PNG, it shrinks to a fraction of the size — often 70% smaller — with no visible quality loss for most photographs. I've used it for years. It's simple: drag and drop, download. No sign-up required for the free tier. The compression is lossy but smart: it reduces colour depth and removes redundant metadata. I've found it particularly effective for screenshots and interface images that don't need full 24-bit colour. For a 2MB PNG, I typically get down to 400KB. That's a big win for page load times. The service also supports JPEG and WebP now, so you can use one tool for multiple formats. I've integrated it into my workflow via the WordPress plugin, which auto-compresses images on upload. That saves me a step. The API is reliable for automated tasks, though I'll talk about the cost later. I used to assume TinyPNG's compression was always lossless, but it's not. I learned that the hard way when a client's high-res product images lost detail in gradients. Now I only use it for web-optimised images, not for print. Overall, for the occasional compressor, it's hard to beat.

What it's awkward for

TinyPNG is awkward for batch processing on the free tier. You can only compress 20 images at a time, each up to 5MB. That's fine for a few images, but for a site redesign with hundreds of product photos, it's tedious. The API is the answer, but it costs — 500 compressions per month free, then $0.002 per image after that. That adds up if you're doing thousands. I've switched to local tools like ImageOptim or Squoosh CLI for large batches. Another awkward point: the compression is always lossy. There's no option for lossless reduction. If you need to preserve exact pixel data, TinyPNG is not the tool. Also, the interface is basic — no batch rename, no format conversion beyond the supported ones. I've also found that small images (under 100KB) see minimal savings, so it's not worth the bandwidth. The lack of control over quality settings is another frustration. You get what you get. For projects where I need to fine-tune compression per image, I use something else. And the WebP compression is good, but not as good as dedicated WebP encoders. I've had cases where TinyPNG's WebP output was larger than the original PNG. That's a trap. I got tripped up by the 5MB limit once — I had a 10MB PNG and had to split it into tiles. That was a waste of time. If you need to audit oversized images across a site, I recommend using [Screaming Frog](/screaming-frog/) to find them first.

Alternatives I'd consider

For most SEO work, I now use Squoosh (Google's open-source tool) for more control. It lets me adjust quality, compression method, and output format. It's free, offline, and handles batch processing if you use the CLI. For lossless compression, I use ImageOptim on Mac or PNGGauntlet on Windows. These are lossless and can reduce file size without quality loss. For CMS integration, I use the ShortPixel plugin over TinyPNG because it offers both lossy and lossless options, and handles PDFs too. For large-scale workflows, I've built a script using the ImageMagick toolset. That gives me full control. On the free side, I also keep Screaming Frog in my toolkit — it audits image sizes and can flag oversized images. Then I run them through Squoosh. I also use [Website Speed Test](/website-speed-test/) to measure the impact of compression on load times. And [Surfer SEO](/surferseo/) helps me optimise content around images. For user behaviour after speed improvements, I check [Hotjar](/hotjar/) for session recordings. I also keep [SEO Tools](/seo-tools/) bookmarked for a broader view. But for a simple, no-fuss compression, TinyPNG is still my first choice. I've just learned to know its limits. I used to think TinyPNG was the only tool I needed, but I've changed my mind after dealing with batch processing. Now I use a combination of tools depending on the task.

Next step

Quick answers

Is TinyPNG free?

Yes, TinyPNG offers a free tier that allows up to 20 images per batch, each under 5MB. You get 500 free compressions per month via the API. For unlimited use, you need a paid plan starting at $0.002 per image. That adds up fast for large sites.

How does TinyPNG compare to Squoosh?

Squoosh gives you more control — you can adjust quality, compression method, and output format. It's free and open-source. TinyPNG is simpler but less flexible. I use Squoosh for precise control when I need to preserve specific details, and TinyPNG for quick jobs.

Can I use TinyPNG for WebP images?

Yes, TinyPNG supports WebP compression. However, the output quality may not be as good as dedicated WebP encoders like Squoosh or cwebp. I've found that for some images, TinyPNG's WebP output is larger than the original PNG, so test first before relying on it.

Sources

Primary documentation is linked directly. Anything commercial is marked nofollow.

Notes from Callum Bennett.