Compressing a screenshot
Screenshots are PNGs of a huge display, which is why a picture of some text is bigger than a photograph. The fix is almost never a quality slider.
Updated 6 min read
A screenshot of a text document can easily be larger than a photograph of a landscape, which feels wrong until you look at what it actually contains.
Two things make screenshots big, and neither is the one people reach for.
It is a PNG, and PNG cannot throw anything away
Every operating system saves screenshots as PNG, and that is the correct default — PNG is lossless, so text stays perfectly sharp.
But lossless means there is no quality dial. A PNG's size is whatever its content dictates. You cannot ask for a 100KB PNG; you can only change the content and see what comes out.
It also means a screenshot containing a photograph is the worst case for PNG. PNG compresses by finding repetition, and a photograph has none — so a screenshot of a webpage with a hero image stores that image losslessly, pixel by pixel, at several times what the JPEG on that webpage cost.
Your display is enormous
This is the bigger factor, and the easiest to miss.
A full-screen capture on a 5K display is 5120×2880 pixels — 14.7 megapixels, more than a phone photo. A MacBook Pro screenshot is 3456×2234 and reports itself as "1728×1117" in some tools because of the 2× scale factor, which is why the pixel count surprises people.
| Capture | Actual pixels | Megapixels | Typical PNG |
|---|---|---|---|
| 5K iMac, full screen | 5120×2880 | 14.7 | 3–8MB |
| 16" MacBook Pro, full screen | 3456×2234 | 7.7 | 2–5MB |
| 1080p monitor, full screen | 1920×1080 | 2.1 | 300KB–1.5MB |
| A window, retina | ~2400×1600 | 3.8 | 800KB–2MB |
| Phone screenshot | 1290×2796 | 3.6 | 400KB–2MB |
So a routine "here is what I'm seeing" screenshot is a 14-megapixel lossless image. That it comes out at 4MB is not a mystery.
What to do, in order
1. Crop to what you are actually showing. The single biggest win and completely lossless. Nobody needs your menu bar, dock, and three other windows. Cropping to the relevant dialog box often removes 90% of the pixels and therefore 90% of the file, with zero quality cost.
2. Keep it lossless if it now fits. After cropping, re-encode as PNG or lossless WebP. Lossless WebP is typically 25% smaller than PNG for the same pixels, with no loss at all. If that lands under your limit, stop — you have given up nothing.
3. Halve the dimensions, if it is a retina capture. A 2× screenshot shown in a chat window or a bug report is being displayed at half size anyway. Scaling 3456 down to 1728 removes three quarters of the file and looks identical wherever it was going to be displayed at 1728 or less. Text stays legible because you are returning it to its logical size.
4. Only then consider lossy. And if you do, think carefully about what is in the image.
The lossy decision, and why it is not obvious
JPEG is the wrong answer for most screenshots, even though it is the reflex.
Sharp black-on-white text edges are the highest-frequency content there is, and that is precisely what JPEG discards first. The result is grey fringing around every letter and coloured halos on anything with a strong hue — made worse by chroma subsampling, which stores colour at half resolution. Red text on white under JPEG 4:2:0 looks genuinely bad at any quality setting that saves meaningful space.
And it is often larger than the PNG anyway, because JPEG has no mechanism for exploiting the vast flat areas that dominate a screenshot.
Lossy WebP handles this much better. It has a lossless mode for the flat regions and far better edge handling than JPEG, so a screenshot that must be lossy should be WebP where the destination accepts it.
If the destination demands JPEG, the honest ranking is: crop harder, then scale down, then accept the fringing.
A quick decision tree
Is it mostly UI, text and flat colour?
-> Crop. Then lossless PNG or WebP.
Still too big? Halve the dimensions. Re-check.
Still too big? Lossy WebP, quality 0.85+.
Is it mostly a photograph or a video frame?
-> Crop. Then treat it as a photograph:
resize, then JPEG or lossy WebP at a bisected quality.
Does it contain both?
-> Crop to separate them if you can. Two small images
beat one large one, and each gets the right format.
Where the byte targets come from
Screenshots mostly need compressing for somewhere specific, and the numbers are worth knowing:
- GitHub accepts 25 MiB through the browser, which no screenshot approaches. Issue bodies are fine.
- Slack takes 1GB per file. Also not your problem.
- Notion's free plan rejects anything over 5MB, which a 5K full-screen capture genuinely hits.
- Bug trackers and support forms are where the tight limits live — 2MB and 1MB caps are common, and some ticket systems still cap at 500KB.
For those, compress an image to 500KB, to 200KB or to 100KB measures the real output at each step instead of applying a fixed setting. A PNG is routed to WebP so that any transparency and the sharp edges survive as well as they can, and nothing is uploaded — which matters more than usual for screenshots, since they routinely contain email addresses, internal URLs, customer names and whatever else was on screen.
One thing to check before you send it
Screenshots leak more than people expect: open tabs, notification previews, a visible file path with your name in it, an account balance in a background window, an internal hostname. Crop for privacy as well as for file size, and prefer capturing a single window over the whole screen.
FAQ
Why are screenshots so large?
Two reasons compounding. They are saved as PNG, which is lossless and therefore cannot discard anything. And modern displays are enormous — a full-screen capture on a 5K monitor is 14.7 megapixels, more than a phone photograph. A lossless image of 14.7 million pixels is several megabytes no matter what it depicts.
Should I convert a screenshot to JPEG to make it smaller?
Usually not. JPEG discards high-frequency detail first, and sharp text edges are exactly that, so you get grey fringing around letters and coloured halos. It is also often larger than the PNG, because JPEG cannot exploit the large flat areas that make up most of a screenshot. Crop it, then halve the dimensions if it is a retina capture, then use lossless or lossy WebP.
How do I reduce a screenshot below 1MB?
Crop first — it is lossless and usually removes most of the file. Then, if it is a retina capture, scale it to half its pixel dimensions, which is the size it was going to be displayed at anyway. Those two steps alone take a typical 4MB full-screen capture to around 300KB with no visible change.
What is the best format for a screenshot?
PNG if it fits, because it is lossless and keeps text perfectly sharp. Lossless WebP if the destination accepts it, for the same result about 25% smaller. Lossy WebP if you must hit a tight byte target. JPEG last, and only when something refuses everything else.
Do it now, in this tab
Each of these opens the tool with the target already set. It runs on your own machine — nothing is uploaded, there is no watermark and no signup, and the output is measured before you get it.
Reference
The limits this guide refers to
Each number carries the date it was last checked against the platform's own documentation.
- Slack1GBSlack caps a single file at 1GB on every plan. Free workspaces have a total storage cap rather than a smaller per-file limit.Verified 26 Sep 2026
- GitHub25MBGitHub accepts files up to 25 MiB through the browser, warns above 50 MiB on a git push, and blocks anything over 100 MiB outright. Because those are MiB and not MB, a file under 25,000,000 bytes is always safe.Verified 11 Oct 2026
Next
Keep reading
- JPEG, PNG and WebP, and when each one winsThe right format depends on one question: does the image have large areas of flat colour, or is it a photograph? Getting it wrong costs a factor of ten.
- Resizing versus compressing an imageResizing removes pixels. Compressing describes each pixel less precisely. One is usually free and the other always costs something — so the order matters.
- Compressing an image without losing qualityTruly lossless image compression saves about 20%. Losing nothing you can actually see saves about 80% — and those are two completely different operations.