Why does my PNG barely shrink — and what actually works
2026-08-19
You run a PNG through a compressor, the progress bar finishes, and the file is 2.1 MB — exactly what it was. Run a JPG of the same photo through the same tool and it drops by two thirds. Nothing is broken. The two formats are built on opposite premises, and once you see the difference the fix is obvious.
PNG is lossless, and that is the whole story
JPEG is a lossy format. When you lower its quality it genuinely discards image detail — fine gradations your eye is unlikely to miss — and that discarded detail is where the megabytes go. A quality slider on a JPEG has something to spend.
PNG is lossless. It promises that every pixel you save is the pixel you get back. So a PNG compressor is not allowed to throw anything away; it can only pack the same pixels more cleverly. If the file was already saved by a competent encoder, that packing is close to done, and a second pass finds almost nothing left to win.
This is why a "quality" slider often appears to do nothing to a PNG. There is no quality to trade.
Why photographs are the worst case
PNG earns its size on images with large areas of identical colour — logos, diagrams, screenshots of text, anything with flat fills. Its compression works by noticing repetition along each row of pixels.
A photograph has almost no exact repetition. A patch of sky that looks like one blue is thousands of slightly different blues. PNG has to record every one of them faithfully, because that is its promise. The result is a file several times larger than the JPEG of the same photo, and no compressor can fix that while keeping the format.
Fix 1 — if you don't need transparency, leave PNG
The single biggest win for a photograph saved as PNG is to stop it being a PNG. Converting to JPG lets a lossy encoder do the job it is designed for, and the drop is usually dramatic rather than marginal.
The one thing to check first: transparency. JPG cannot store it. If your image has transparent areas, converting will fill them — typically with white — and a logo meant to sit on a coloured background will arrive in a white box. If you need transparency, stay on PNG and use the second fix.
Fix 2 — reduce the palette, not the pixels
There is a way to make a PNG much smaller while it stays a PNG: give it fewer colours to remember. Instead of storing a full 24-bit colour per pixel, the image is rebuilt from a palette of up to 256 chosen colours, and each pixel becomes a small index into that list. Transparency survives. The format survives.
The catch is banding: a smooth gradient rebuilt from few colours can show visible steps. That is solved by dithering — scattering the error into neighbouring pixels so the eye blends them back into a gradient.
PixelSquish does this in your browser. Our own measurement on a colour-limited image — the kind of logo or screenshot this technique suits best — was 2.1 MB down to 799 KB, a 62% reduction, with transparency intact. The quality slider chooses how many colours to keep: 256 at the top of the range, 128 in the middle, 64 at the smallest.
Two places we deliberately don't do it
Palette reduction is a trade, so it is not applied everywhere:
- Rotate and flip — these promise to return your image turned and otherwise untouched. Quietly re-colouring it would break that promise.
- Background removal — the value there is a clean edge around the subject, and a reduced palette is exactly what makes edges look chewed.
There is also a floor: if re-encoding an image would make it larger than what you started with, you get your original file back instead, and the result says so. A compressor that hands you a bigger file has failed, and it should admit that rather than hide it.
The short version
- A PNG that won't shrink is usually a photograph. That is the format working as designed, not a broken tool.
- No transparency needed → convert to JPG. That is the biggest single win.
- Transparency needed → reduce the palette and keep PNG.
- Already small and well encoded → nothing left to win, and you should be told that rather than handed a bigger file.
No sign-up, nothing uploaded — it runs in this tab.
Compress image →