Why Is My PNG File So Huge? (And How to Shrink It)
By Andrew Butson · July 2, 2026 · 6 min read
A single screenshot is twelve megabytes. A logo that should be a few kilobytes is somehow three megabytes. You didn't do anything unusual; you just saved it as a PNG, the same format you always use. And yet the file size doesn't seem to match what's actually on screen.
PNG isn't malfunctioning; it's doing exactly what it was designed to do, which is keep every single pixel exactly as it was, with nothing thrown away. That guarantee is precisely what makes some PNGs enormous, and knowing when it's worth keeping versus when it's fighting you is the actual fix.
Why PNG gets big: it never throws anything away
PNG is a lossless format. When it compresses an image, the process is fully reversible, so decompressing it hands back the exact original pixels, bit for bit. That's ideal for anything with flat colour and sharp edges, such as a logo, a chart, a screenshot of text, or a line drawing, because PNG's compression finds long, predictable runs of identical or near-identical pixels and represents them compactly. A screenshot of a plain document with black text on white can compress to a small fraction of its raw size for exactly this reason.
Photographs, and anything containing a photograph, break that assumption. A photo is made of continuous, ever-so-slightly-different tones (sky that shifts colour pixel by pixel, skin, foliage, fabric texture), and lossless compression can't meaningfully shrink data that doesn't repeat. JPEG handles this by being willing to discard detail the eye barely notices; PNG, by design, refuses to discard anything, so a photographic PNG stays close to its uncompressed size no matter how good the compressor is. A screenshot that happens to contain a photo, such as a browser tab showing a photography site, or a phone photo shared inside a messaging app that auto-saves as PNG, inherits this problem: it's a photograph wearing the wrong format.
The other two multipliers: resolution and transparency
Two more factors stack on top of the lossless problem. The first is resolution versus how the image is actually displayed: a screenshot taken on a high-resolution or scaled display can hold two or three times as many pixels as it looks like on screen, and every one of those pixels has to be stored whether or not you can visually tell the difference at normal viewing size. The second is transparency: a PNG with an alpha channel stores a fourth value (how see-through each pixel is) alongside red, green and blue, which adds real data across the whole image even in areas that end up fully opaque.
None of this is a flaw in the file. A large screenshot of a photo-heavy webpage, saved with transparency it doesn't even use, is simply carrying three separate weights at once: lossless compression on photographic content, more pixels than the display needs, and a channel of data nothing is using.
Re-encodes a photographic PNG as JPEG locally, usually a fraction of the size with no visible difference.
Runs entirely in your browser — nothing is uploaded.
The fixes, ranked by what's actually wrong
Which fix helps depends on which of the problems above is doing the damage:
- If it's a photo, or a screenshot containing one: convert it to JPEG. JPEG was built for exactly this content and typically cuts the file to a fraction of the PNG's size with no visible difference; see /png-to-jpg. Only skip this if the image needs transparency, which JPEG can't store at all.
- If it needs transparency but is still photographic: convert it to WebP instead; see /png-to-webp. WebP keeps the alpha channel PNG offers, while compressing far closer to JPEG's efficiency than PNG ever will.
- If the pixel count is bigger than the display size needs: resize it down first. A screenshot saved at your monitor's native resolution rarely needs to stay that large once it's being viewed in an email or a document. See /resize.
- If you have a specific size target, whether under an email attachment limit or under a CMS upload cap, /compress handles that directly rather than making you guess a quality setting.
When PNG is actually the right call
None of this means PNG is the wrong format generally. For the content it's built for, it's still the best choice. Screenshots of interfaces, text and code, logos, icons, diagrams, and anything with hard edges or flat colour compress well as PNG and lose zero fidelity, which matters when a slightly blurred edge or a JPEG compression artefact on a straight line would actually be visible. Anything that needs a transparent background and isn't a large photograph is also squarely PNG's territory.
The rule of thumb: if the image looks more like a photograph than a drawing, PNG is usually costing you file size for no visual benefit, and it's worth converting. If it looks more like a drawing, a screenshot of an app, or anything with text and sharp lines, PNG earns its size.
Frequently asked questions
- Will converting my PNG to JPG make it look worse?
- For a genuine photo, usually not at a high quality setting, since JPEG's lossy compression targets exactly the kind of detail the eye doesn't register. For a screenshot with sharp text or fine lines, yes, JPEG can visibly soften edges, which is the one case where staying on PNG (or moving to WebP if you need a smaller file) is the better call.
- Why is my screenshot so much bigger than a photo I took with my phone?
- Your phone photo was almost certainly saved as JPEG or HEIC, both lossy and built for photographic content. A screenshot defaults to PNG on most operating systems, which is fine for interface screenshots but expensive the moment the screenshot contains a photograph, such as a shared photo, a video thumbnail, or a photography website.
- Does resizing a PNG lose quality the way converting to JPEG does?
- No. Resizing changes the pixel count, not the compression method, so a PNG is still fully lossless at the smaller size. It's a different lever from converting to JPEG: resizing helps when the image is simply bigger than it needs to be for how it's displayed; converting helps when the content itself doesn't compress well as PNG regardless of size.
- Can I just zip the PNG to shrink it?
- Barely. PNG is already compressed internally, so wrapping it in a ZIP archive saves very little, typically a percent or two. Zipping several small PNGs together into one download is convenient; it isn't a way to make one PNG file smaller.