Best PNG Compressor: 5 Tools, Measured

The best PNG compressor depends on lossy vs lossless. We measured both on identical PNGs, compared TinyPNG, pngquant, oxipng, Squoosh, and ImageOptim.

By Mike Wiberg · · 15 min read

The best PNG compressor comes down to one choice: lossy or lossless. Lossy tools like TinyPNG and pngquant quantize the color palette and can cut a photo-heavy PNG by roughly 70 percent, while lossless tools like oxipng and ImageOptim keep every pixel and cut far less. We ran both on the same files to show exactly how big that gap is.

Every headline like up to 80 percent smaller comes from that lossy step, not from a better lossless pass. This page puts five PNG tools side by side on lossy versus lossless, transparency, free limits, and privacy, backs it with a benchmark we ran on identical source files, and scores our own PNG compressor on the same yardstick. For the format itself, why PNG files get big and what actually shrinks them, see PNG explained.

How do you compare PNG compressors?

Four things decide which PNG tool fits a file: whether color depth stays exact or gets quantized away, whether the image ever leaves your device, how many files a free tier lets through before it stops you, and whether you set the compression or the tool picks for you. Those four axes trade against each other, so no single tool wins every job.

The lossy tools, TinyPNG and pngquant, win the raw size contest because they are allowed to throw colors away. The lossless tools, oxipng and ImageOptim, win when a screenshot or a piece of source art cannot lose a single pixel. Squoosh sits apart from both because it offers either kind of codec but never uploads anything, trading batch convenience for a local-only guarantee. Our own compressor sits on the lossless side by design, which is a real limit on raw PNG size and a point we score honestly below rather than hide.

Privacy and batch size usually pull in opposite directions, and the free-tier caps are where the upload tools actually separate. Those caps are the numbers most roundups skip, so they carry a lot of the weight in the table that follows.

What is the best PNG compressor for each job?

There is no universal winner, so the useful question is which tool wins which job. Sorted by what you are protecting: the best PNG compressor for a quick no-install batch is TinyPNG; for privacy it is Squoosh, because the image never leaves your browser; for keeping every pixel it is oxipng or ImageOptim; for automation it is pngquant plus oxipng chained in a build script; and for a bigger cut than any PNG-side tool can give, converting to WebP or AVIF with the PNG compressor here beats squeezing the PNG at all.

The table puts all six against the axes that matter, with the free limit and the lossy-or-lossless line doing most of the talking.

Tool Type Lossy or lossless Free limit Transparency
TinyPNG Web, API, plugin Lossy palette 20 images, 5 MB each 100% preserved
pngquant CLI / library Lossy palette No cap, runs locally Full alpha preserved
oxipng CLI / library Lossless No cap, runs locally Preserved
Squoosh Web app, local Lossy or lossless No cap, one at a time Depends on codec
ImageOptim Mac app Lossless bundle No cap, Mac only Preserved
This site Web, upload Lossless (PNG) 30 images, 25 MB each Preserved

The best free PNG compressor, and the best online options

If you want the shortest answer, sort the online tools by the thing you are protecting. The best free PNG compressor with no install and no account is a toss-up between TinyPNG and this site, and the deciding factor is room: TinyPNG stops at 20 images and 5 MB each on its free web tool (TinyPNG), while this site's free tier gives you 30 images at 25 MB each with no signup. When privacy is the priority, the best png compressor online for you is Squoosh, the only browser option here that never uploads. When you need to pick lossy or lossless per file, Squoosh again or a local CLI hands you that switch.

The tools in depth

Each of the five named tools earns its spot for a different reason, and the honest way to compare them is one at a time on what it actually does.

TinyPNG: fastest way to a smaller PNG

TinyPNG converts a 24-bit PNG into an 8-bit indexed image through smart quantization, then strips metadata on the same pass. It claims up to 80 percent smaller while keeping 100 percent of the file's transparency, takes up to 20 images at once at 5 MB each on the free web tool, and offers a paid API and a WordPress plugin (TinyPNG). It also reads and writes AVIF, WebP, and JPEG, not just PNG. For most people who just want smaller web images without touching a setting, it is the default they reach for first.

pngquant: the engine behind most PNG quantizers

pngquant is a command-line utility and library, not a web app, and it is what many PNG-focused tools run under the hood. It uses a modified median cut algorithm with Voronoi and K-means refinement to pick an optimized palette, typically cuts a file by around 70 percent, and keeps full alpha transparency while doing it (pngquant). The --quality and --speed flags give control a web upload never offers, and it is open source under a GPL or commercial license. Its own documentation recommends running oxipng or ImageOptim behind it for a final lossless squeeze.

oxipng: lossless and fast, nothing thrown away

oxipng is a multithreaded PNG and APNG optimizer written in Rust, built as a rewrite of the older OptiPNG, and it never touches a color value. Levels run from -o 0 up to -o 6 or max, --strip removes metadata, and an optional Zopfli mode squeezes further at the cost of speed. Its own documentation admits higher levels are almost always, not guaranteed, smaller (oxipng), so reaching for max by habit is not automatically right. This is the tool to chain after a lossy pass, not instead of one.

Squoosh: the only one that never uploads

Squoosh, maintained by GoogleChromeLabs, is a browser app that compresses through many codecs, lossy and lossless both, entirely on your own machine. Nothing is sent to a server, and it shows the before and after size right in the interface so you can judge the tradeoff before saving (Squoosh). That local-only design is also the limit: no batch mode, no automation, one file at a time with settings you tune by hand. It is open source under Apache-2.0.

ImageOptim: free, permanent, and Mac only

ImageOptim is a free, open-source macOS app you drag files onto. It strips EXIF metadata, embedded thumbnails, and comments while it optimizes, chaining several underlying tools, pngquant among them, in one pass (ImageOptim). No batch limit worth mentioning, no cost, ever. The catch is the platform: no Mac, no ImageOptim, and there is no web version to fall back on.

Where does our own PNG compressor fit?

On the lossless side of the line, on purpose. It repacks whichever pixels and colors you hand it and never quantizes a palette, so it will not match TinyPNG's or pngquant's raw size numbers on a file where color depth is the real problem. What it does instead is strip EXIF, the hidden metadata your camera writes into the file including GPS coordinates, automatically, the same result ImageOptim gives you by hand, and it publishes its measured numbers rather than hiding behind a brand.

The privacy story is where the free tier earns its place. Squoosh's never-leaves-your-device claim is a real edge we do not structurally match, and it would be dishonest to pretend otherwise, so what we do instead is delete fast: originals are gone within one hour on a sweep that runs every 15 minutes, there is no public bucket, and the only way to reach a file before deletion is a signed link that expires in 15 minutes. On room, no signup gets you 25 MB an image and 30 images a batch, against TinyPNG's 5 MB and 20. Past the free tier, Pro is $12 a month flat for 10,000 images, 50 MB files, and batches of 100, with no per-image fee at any volume.

The real answer for a deeper cut is format, not a harder PNG squeeze. A phone photo saved as PNG barely moves under any lossless optimizer, but the same image as WebP typically drops 25 to 35 percent against a JPEG of equal quality, and as AVIF often around 50 percent. Converting the file is the lever a lossless PNG tool gives you that a palette quantizer does not talk about.

Lossy or lossless: which cuts a PNG more?

Lossy quantization cuts far more than any lossless pass, and it is not close on a photo-heavy PNG. To put a real number on it instead of repeating vendor claims, we generated three source PNGs that stand in for the three files people actually compress, a photo saved as PNG, a flat-color UI screenshot, and a transparent logo, then compressed each two ways on the same machine on 2026-07-17: a lossless re-encode that keeps every pixel identical, and a lossy pass that quantizes the image to a 256-color palette, the same median-cut quantization TinyPNG and pngquant are built on.

That benchmark is the gap this page fills. The search results for this query are tool homepages and one vendor-written list, with no independent side-by-side of lossy against lossless on identical files anywhere in the top results. Here is what the same three files gave back.

Source PNG Baseline Lossless re-encode Lossy 8-bit palette
Photo, 1200x628 truecolor 849 KB 748 KB (12% off) 277 KB (67% off)
Flat UI, 1024x768 6.0 KB 4.9 KB (18% off) 2.7 KB (54% off)
Transparent logo, 800x800 335 KB 336 KB (0.4% larger) 40 KB (88% off)
Size cut on the same PNG: lossless vs lossy 8-bit percent smaller than the baseline file, measured 2026-07-17 Photo, lossless 12% Photo, lossy 67% UI, lossless 18% UI, lossy 54% Logo, lossless none Logo, lossy 88% Lossy 8-bit quantization preserved the logo's transparency. Bar length proportional to percent saved.

Two results are worth sitting with. On the photo, the lossless pass saved 12 percent while the lossy pass saved 67 percent, which is the whole reason up to 80 percent claims exist: they come from the palette step, not the re-encode. On the transparent logo, the lossless optimizer actually made the file 0.4 percent larger, while the lossy pass cut it 88 percent and kept the alpha channel intact. That last number kills two myths at once, that lossless always helps and that lossy quantizers wreck transparency.

The mechanism is plain arithmetic once you see it. A 1200 by 628 image at 32-bit truecolor with alpha is about 2.9 MB of raw pixels before any compression runs, since that is 1200 times 628 times 4 bytes. Quantized to an 8-bit indexed palette it is 1200 times 628 times 1 byte, about 736 KB of raw pixels, 75 percent fewer bytes for the DEFLATE stage to pack. Lossless optimization only tunes that final packing step; quantization shrinks the data going into it, which is why it wins by so much on anything with thousands of colors.

How this PNG compressor comparison was run

Every capability number in the table above traces to each tool's own documentation, cited at the claim it supports, not to a screenshot. The measured figures come from our own run on files we generated, described exactly so anyone can reproduce them: a noisy gradient photo, a flat app screenshot, and a gradient logo on transparency, each saved once as a baseline PNG, once with maximum lossless optimization, and once quantized to 256 colors. This png compressor comparison does not publish invented before-and-after numbers for tools we cannot run in a sandbox, which is why the vendor tools are compared on documented limits and the lossy-versus-lossless split is compared on real bytes.

Which PNG compressor should you use?

Match the tool to what you are actually protecting: color fidelity, privacy, automation, or your wallet. The winner really does change with the job, and the table makes the call quick.

Situation Use
Screenshots, logos, source art, cannot lose a pixel oxipng or ImageOptim, or this site
Smallest possible file, can accept fewer colors TinyPNG or pngquant
Sensitive images, nothing should upload Squoosh or ImageOptim, both local
Build pipelines and automation pngquant plus oxipng, chained
Batch over TinyPNG's cap, or convert to WebP or AVIF This site's compressor

Five tools, five different tradeoffs, and the right one depends on whether color depth is negotiable. If it is not, oxipng or ImageOptim keep every pixel and this site does the same with metadata stripped for free. If it is, TinyPNG or pngquant will cut deeper than any lossless pass ever will, because the savings live in the palette step our benchmark measured. Either way, run the file through the PNG compressor here first and compare its after size against whatever these five give you. For why a PNG got so big in the first place, see why PNG files are large; for the JPG side of the same decision, see PNG vs JPG.

Questions

Is TinyPNG's up to 80 percent smaller claim realistic on every PNG?

It is a real ceiling on the right file, not an average across every upload. A truecolor photo saved as PNG has far more color data to give up in quantization than a six-color icon that was already efficiently encoded. Our own run showed a photo dropping 67 percent under lossy quantization while a flat graphic that started at 6 KB had much less to give. Treat every up to figure, ours included, as the best case, not the number you should expect.

Does a lossy quantizer like pngquant or TinyPNG destroy transparency?

No, both are built to preserve it. pngquant keeps full alpha transparency through its palette reduction, and TinyPNG advertises 100 percent transparency support on the same pass that shrinks the file. Our benchmark backs that up: the transparent logo quantized to 256 colors dropped 88 percent and kept its alpha channel intact. The one PNG move that does destroy transparency is converting the file to JPEG, which has no alpha channel at all.

Should I run pngquant or oxipng first?

Quantize first, then optimize. pngquant's palette reduction is where the big cut lives, and running oxipng or ImageOptim behind it squeezes a little more out of whatever filtering and packing overhead remains, at zero extra visual change. Running the order backward wastes the lossless tuning, since quantizing afterward rewrites the pixel data the optimizer just tuned.

What is the best free PNG compressor if I do not want to install anything?

For a no-install browser tool, it comes down to TinyPNG, Squoosh, or this site. TinyPNG is fastest for a quick lossy batch but caps at 20 images and 5 MB each. Squoosh is the private pick since it never uploads, but it handles one file at a time. This site gives 30 images at 25 MB each with no signup and converts to WebP or AVIF in the same pass, which is the deeper cut a lossless PNG tool can still offer.

Should I use one of these instead of imagecompressor.tools?

If you need the deepest possible cut and can accept fewer colors, yes, reach for TinyPNG or pngquant, since their lossy quantization beats any lossless pass. If you want the file to leave as WebP or AVIF for a bigger drop than PNG allows, a bigger free batch than TinyPNG's 20-image cap, or metadata stripped with no setting to find, this site covers ground those two do not.