Shrink PNG files without uploading them anywhere. Lossless mode re-optimises the file with the OxiPNG engine — every pixel stays identical, only the encoding gets smarter. Palette mode rebuilds the image with at most 256 colours, which is where the dramatic savings live on screenshots, logos and graphics (photos usually do better as JPG — try the Image Compressor). Best runs both and keeps whichever file is smaller. Compressing to a hard size cap instead? Use Compress Image to 20KB.
Lossless keeps every pixel identical — savings come from better filtering and compression inside the PNG. Palette mode can change colours slightly (at most 256 of them); on screenshots and graphics the difference is usually invisible, on photos with smooth gradients it can band — Best mode still compares sizes only, so for photos prefer Lossless here or JPG in the Image Compressor. If a file is already as small as it gets, the original is kept and labelled.
For screenshots, logos, icons and app assets that are too heavy for the web — optimised on your device, never uploaded.
100% free · No sign-up · No daily limits · No watermarks · Processed in your browser — files never leave your device
Compress PNG images in your browser — true lossless optimisation with the OxiPNG engine (every pixel identical), or palette compression that rebuilds the image with at most 256 colours for much smaller files. Batch several PNGs at once and download them individually or as one ZIP. Free, private and done entirely on your device.
A 1920 × 1080 screenshot saved as an 819 KB PNG typically drops to about 707 KB with lossless optimisation alone — and to roughly 295 KB in palette mode, because a screenshot only uses a few hundred distinct colours anyway. A logo or icon with flat colours can shrink even more dramatically.
Lossless mode runs the OxiPNG optimiser (the engine behind Squoosh’s PNG optimisation) over the file bytes: it tries better row filters and stronger DEFLATE compression and re-encodes the PNG without touching a single pixel value. Palette mode decodes the image, quantises it to at most the chosen number of colours (256 by default) and encodes a palette-based PNG, which stores one byte per pixel instead of four. Best mode runs both and keeps the smaller file. In every mode, if the result would be no smaller than the original, the original bytes are kept instead.
Lossless changes only how the pixels are stored — the decoded image is pixel-for-pixel identical to your original. Palette mode changes the image itself, reducing it to at most 256 colours; the file gets much smaller, but very subtle colour differences can be lost.
It was probably already well optimised, or it is a photograph — photos contain millions of colours and fine noise that lossless PNG cannot pack down. Try Palette mode, or convert the photo to JPG with the Image Compressor.
No. Both engines run in your browser as WebAssembly and JavaScript. Your files never leave your device, and nothing is stored.
Neither engine could produce a smaller file than the one you gave us, so the tool returns your original file unchanged rather than a bigger ‘compressed’ one.
For crisp text and interface screenshots, PNG (especially palette mode) stays sharp and small. For photos, JPG or WebP at the same file size will look better — the Image Compressor handles those.
What is missing, broken, or could be better on this tool? Tell us — we read every suggestion.
✅ Thanks — your suggestion has been received. Suggestions like yours shape what we build next.