PNGSquash

Compress PNG files — palette search instead of a quality slider.

Drop PNG files here

or click to browse

Compressed on this device. Your images are never uploaded.

What happens to a PNG

Most PNGs are 24-bit or 32-bit images holding a handful of distinct colours — screenshots, icons, flat illustrations, logos. Storing those as full-colour pixels wastes most of the file. The compressor rewrites them as palette images: 2 to 256 colours, each chosen and mapped by search rather than guesswork.

Each candidate is scored with SSIMULACRA2 against the original, colours are matched in Oklab so a shift in hue costs what it actually looks like, smooth gradients are dithered, and transparent pixels are judged over both a light and a dark background — the two places a cut-out gets pasted. The smallest file that clears the quality target wins.

What it does not do

It will not touch a PNG that is already optimal: if no smaller file clears the target, the original comes back unchanged, which is why some rows report 0%. Images with more than 256 distinct colours lose a little accuracy — that is the trade the palette makes, and the quality score is what keeps it invisible at 1:1.

Animated PNGs are handled: every frame shares one palette and keeps the target, and the timing of the animation is preserved.

Questions

Is it lossless? No, it is lossy — but at a quality chosen per image so that it is indistinguishable from the original at normal size. If you need a byte-exact PNG, this is the wrong tool.

How big can a file be? 40 megapixels, or 30 megapixels across all frames of an animation. That is the browser's memory limit, not a quota.

Can I compress a JPEG here? Yes, drop it in — or use the JPEG page. To convert instead, use WebP.