PNG or JPEG for Screenshots? (And How to Shrink Them)
Screenshots are text, flat colour and sharp edges — the worst case for JPEG and the best case for PNG. Here is which to use, and how to make a PNG screenshot far smaller without visible damage.
Screenshots are not photographs. They are text, flat UI colour and hard edges, and that changes the answer to "which format" completely.
Why JPEG is the wrong default for screenshots
JPEG was designed for photographs: smooth gradients, natural texture, and the assumption that the eye will forgive small errors. It compresses by transforming blocks of pixels into frequency components and discarding the high-frequency ones — which is exactly the information that makes up text and sharp edges.
The result on a screenshot is the familiar mush: ringing halos around letters, coloured fringing on thin strokes, and grey speckle in what used to be flat white. You can raise the quality, but you are fighting the format's design rather than using it.
There is a second problem. JPEG stores colour at lower resolution than brightness — chroma subsampling. On a screenshot this is worse than on a photo, because screenshots are full of coloured text and coloured one-pixel UI lines. Black text on white survives reasonably well; a menu of blue links does not.
There is a third: JPEG has no transparency. A screenshot with a transparent background gets flattened onto something, usually white, which is rarely what you wanted.
Why PNG fits screenshots
PNG is lossless and palette-capable. Text stays crisp. Flat areas stay perfectly flat. Edges stay edges. Transparency is preserved. For a UI screenshot there is no visible trade at all.
The catch: PNG files are big
Lossless means every pixel is stored exactly, and a 2560×1440 screenshot of a photo editor or a code review can easily run to several megabytes. That is why people reach for JPEG — they are solving a real problem with the wrong tool.
The fix: reduce the palette, not the quality
Most screenshots contain far fewer distinct colours than a photograph. A terminal window might use twenty. A document editor maybe a few hundred. A screenshot of a colourful app might use a few thousand.
A PNG can store its pixels as indices into a palette of at most 256 colours. When an image genuinely fits inside 256 colours, that representation is not just smaller — it is exactly the same picture. This is what the lossless optimiser does, and it is why a PNG screenshot often shrinks by 60–80% with bit-identical pixels.
When the image does not fit inside 256 colours, you have a choice: accept a palette that is close, or keep the full colour data. Palette reduction is lossy — gradients can band and photographs lose subtle detail — but on flat UI artwork the difference is usually invisible, because the colours being merged are ones the eye could not separate anyway.
This tool offers both, under PNG mode:
- Lossless (recommended) — re-encodes with an optimised palette and better compression. Pixels stay bit-identical. Try this first; for a screenshot it is often enough.
- Smaller file (lossy) — reduces the image to a palette you control with the colour slider, from 2 to 256 colours. This is also what makes PNG viable for photographs, at the cost of smoothness.
For screenshots, start with lossless. If the file is still too big, switch to lossy and set the palette to 128 or 64 — UI artwork usually has far fewer than 64 distinct colours in each region, so the difference is hard to find even side by side.
A recipe that works
1. Keep the screenshot as PNG. 2. Drop it into the compressor and choose the PNG format tab. 3. Leave PNG mode on Lossless and compress. Check the size. 4. Still too large? Switch to Smaller file (lossy) and set colours to 128. Compare at 100% on an area with small text. Lower further only if it still looks right.
What about converting to WebP?
WebP can beat both formats on screenshots, because it supports lossless mode and alpha. Google's own studies put it well ahead of PNG for size. The catch is compatibility in older tooling and documents — if the screenshot is going into a form, a chat, or a bug tracker, PNG is the safe choice. If it is going on a website you control, WebP is worth the switch; you can convert here without uploading anything either.
The one rule
Do not run a screenshot through a JPEG compressor to make it smaller. You will trade crisp text for a slightly smaller file, and the person reading it will notice the text long before they notice the size.
Everything on this site runs in your browser. Screenshots routinely contain private information — internal tickets, email addresses, account names — and none of it is uploaded anywhere.