Compress PNG files

Drop PNG images here

or click to choose — .png, one or many

The result stays a PNG with its transparency. Fewer colours means a smaller file; each result shows how far the pixels moved, so you can pick the smallest that still looks right.

Drop in PNG screenshots, logos, icons or graphics and get smaller PNGs back, with their transparency intact. Choose lossless to keep every pixel, or fewer colours for a much smaller file — each result says how many colours it kept and how far the pixels moved, measured, so you can choose the smallest file that still looks right. Everything runs in your browser; nothing is uploaded.

How to compress a PNG

  1. Drop one or more PNG files into the box above. They are compressed straight away.
  2. Read each result: the new size, the saving, how many colours were kept and the measured change.
  3. If you want it smaller, choose fewer colours; if a gradient looks banded, keep dithering on or choose more colours. The files are redone as soon as you change a setting.
  4. Download them one at a time or all together as a ZIP.

Two ways to make a PNG smaller

Lossless keeps every visible pixel and only stores them better: the best of five filters for each row, maximum compression, the smallest pixel format the image allows (grayscale if it has no colour, no transparency channel if nothing is see-through, an exact palette if it uses 256 colours or fewer) and no hidden extras. How much that saves depends on how carelessly the file was saved.

Fewer colours is what TinyPNG-style compressors do. A normal PNG can hold millions of colours; this keeps up to 256 well-chosen ones, transparency included, and stores each pixel as one byte instead of three or four. Screenshots, logos, icons, charts and illustrations rarely use more than a few thousand colours, so the change is usually invisible.

We measured both on real files:

FileOriginalLossless256 coloursAverage change
Chrome screenshot of a web page, 1280×90087.1 KB85.5 KB (−2%)40.0 KB (−54%)0.03 of 255
Logo with soft, see-through edges, 320×20010.4 KB—5.9 KB (−43%)0.08 of 255
Photo saved as PNG, 480×360320.9 KB315.5 KB (−2%)102.6 KB (−68%), dithered2.66 of 255
Logo with junk colours hidden behind transparent pixels155.9 KB10.4 KB (−93%)—none visible

“Average change” is how far each colour channel moved, on a scale of 0 to 255, measured with the image laid on white and on black so that changes in see-through edges count too. Under about 1 is hard to see at all; the photo’s 2.66 shows as faint grain in smooth areas if you zoom in. The page reports the same figure for your own files, and our test suite checks that it matches an independent calculation.

Browser screenshots are already compressed reasonably well, so lossless only saved 2%. Fewer colours halved it. The last row is a common case in files exported from design tools: fully transparent pixels still store a colour nobody can see, and random leftovers there compress badly. Setting them to one value took that file from 156 KB to 10 KB without changing anything visible.

Transparency stays

Every colour in the palette carries its own transparency, so soft edges, shadows and glows keep their partly see-through pixels: on the test logo, 11,174 of its 11,191 semi-transparent edge pixels were still semi-transparent afterwards. Compressors that convert to JPG to save space lose the transparent background entirely, because JPG has none.

What else changes

  • Kept: the colour profile (iCCP, sRGB, gamma) and the print resolution (DPI).
  • Removed: text notes, timestamps and EXIF data, which in a PNG from a phone or camera can include where it was taken. The result lists what was dropped.
  • 16-bit PNGs come out as 8 bits per channel, which is what screens show. Keep the original if you are still editing.
  • Interlaced PNGs come out non-interlaced, which is smaller.
  • Animated PNGs are left alone, because only the first frame would survive.
  • If nothing smaller comes out, you get the original back, unchanged, and the page says so.

Every new file is opened again by the page and compared, pixel by pixel, with what it was meant to contain before you see the Download button.

When PNG is the wrong format

For photos, PNG is the wrong tool even after compression: the photo above is still 103 KB as a 256-colour PNG, while a good JPG or WebP of it is far smaller with no visible banding. Use PNG to JPG or PNG to WebP for photos, and Compress image to an exact size when a form wants a file under a set number of kilobytes.

Frequently asked questions

How do I compress a PNG?

Drop one or more PNG files into the box. They are compressed straight away with the default setting, up to 256 colours. Each result shows the new size, the saving and how much the picture changed. Download them one by one or all together as a ZIP.

Does compressing a PNG keep the transparent background?

Yes. The result is a PNG, and see-through and partly see-through pixels go into the colour palette along with their transparency. Tools that compress by converting to JPG lose the transparency, because JPG has none.

What is the difference between lossless and fewer colours?

Lossless keeps every visible pixel exactly and only stores them more efficiently, so the saving depends on how wastefully the file was saved. Fewer colours (a palette, like TinyPNG uses) replaces millions of possible colours with up to 256 well-chosen ones, which usually cuts a screenshot or graphic by more than half. The page measures the change: the average and the largest difference per colour channel, on both white and black.

Why did my PNG not get smaller?

If the best result is not smaller than your file, the page gives the original back and says so. That happens when the file was already optimised, or with photos in lossless mode: a photo has too many colours for PNG to store compactly. For photos, a JPG or WebP is far smaller; see PNG to JPG or PNG to WebP.

Should I use dithering?

Use it for gradients, shadows and photos: it mixes neighbouring palette colours so smooth areas do not turn into bands. Turn it off for logos, icons, text and screenshots with flat colours, where dithering adds speckles and makes the file larger.

What else is removed from the file?

Text notes, timestamps and EXIF data, which can include where a photo was taken, are not copied. Colour profile and print resolution (DPI) are kept. Fully transparent pixels, which still store a hidden colour, are set to one value. Animated PNGs are left alone, because only the first frame would survive.

I need a PNG under a certain size, like 100 KB.

Try fewer colours here first. If it has to be an exact number of kilobytes, Compress image to an exact size searches for the setting that fits.

Are my images uploaded?

No. The files are opened and written by your browser on your device. There is no upload, no account and no file limit.