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.