The one-line rule
Use JPG for photographs and anything where a small file matters. Use PNG for graphics — anything with text, logos, sharp edges or transparency. Almost every confusing "PNG or JPG?" decision collapses into that single line. The rest of this article is the reasoning behind it, so you can apply it confidently when the edge cases come up.
Lossy vs lossless — the core difference
JPG uses lossy compression. To shrink a file it discards information the eye is unlikely to notice: fine texture in complex areas, subtle colour shifts in gradients. At high quality (90–95%) that loss is invisible for most photos, and it can be nudged far higher to produce tiny files. But the discarded data never comes back, and saving repeatedly stacks up the damage.
PNG uses lossless compression. Every pixel is preserved exactly; the file is only made smaller by finding efficient ways to encode what's there. That means a PNG is a perfect copy, forever editable, with no generation loss — but it also means PNG cannot shrink photographic detail nearly as well as JPG, because there simply isn't redundant data to exploit in a busy photo.
File size: the numbers that decide it
The gap is dramatic and it depends on content:
- A 12 MP photograph: roughly 3–5 MB as a JPG at 92%, versus 15–30 MB as a PNG. JPG wins overwhelmingly.
- A screenshot of a web page: often 60–150 KB as a PNG, and rarely smaller as a JPG — PNG's flat-colour regions compress beautifully.
- A logo with a flat background: PNG is typically smaller and always sharper.
- A photo of a heavily textured scene (foliage, fabric): PNG can balloon to ten or twenty times the JPG size.
Transparency: JPG simply cannot
PNG has an alpha channel, so a pixel can be fully transparent, fully opaque or anything in between. JPG has no transparency at all — save an image with a transparent background as JPG and those areas become solid, usually white. If you need a logo to sit over a coloured page, a product cut-out, or a UI element with soft shadows, PNG (or WebP) is not a preference, it's a requirement.
Colour and bit depth
Both formats handle more colour than most content needs. Standard JPG is 8-bit per channel (24-bit RGB, over 16 million colours). PNG can store 8-bit or 16-bit per channel, plus indexed palettes for simple graphics, and supports embedded colour profiles and metadata. For any normal photo or graphic, 8-bit is ample — the extra PNG depth matters mainly in scientific, medical or archival workflows.
When to use PNG
- Logos, icons, buttons and any graphic with hard edges or text.
- Screenshots and screen recordings, where JPG's block compression makes text mushy.
- Images that need a transparent background.
- Intermediate files in an edit you'll keep re-saving, where you can't afford generation loss.
- Charts, diagrams and line art with large flat-colour areas.
When to use JPG
- Photographs of any kind — portraits, landscapes, products.
- Anything headed to a website, email, chat app or social network.
- Camera exports, print jobs and client deliveries.
- Any situation where the file needs to download quickly or fit in an attachment limit.
When neither is ideal
PNG is overkill for photos, and JPG can't do transparency — so the modern answer for the web is often WebP, which does both: lossy or lossless, transparent, and typically 25–35% smaller than JPG at the same quality. Browser support is now effectively universal. If your audience is on the web, it's worth weighing: see WebP vs JPG. For format comparisons more broadly, the same reasoning applies to HEIC vs JPEG and RAW vs JPEG.
PNG-8 vs PNG-24: a naming trap
"PNG" actually covers several variants. PNG-8 stores at most 256 colours plus a single transparent colour — tiny for icons and simple logos, but wrong for photos. PNG-24 stores full 24-bit colour, and PNG-32 adds an 8-bit alpha channel for smooth, partial transparency. Design tools often let you choose between them, and picking PNG-8 for a photograph is a classic cause of ugly banding and colour shifts.
The transparency trap when converting to JPG
Converting a PNG to JPG is common and usually harmless — until the PNG has transparency. Because JPG has no alpha channel, every transparent pixel is filled with a solid colour, usually white or black, which can ruin a logo meant for a coloured background. Before converting a graphic, flatten it onto the exact background colour you want, or keep it as PNG or WebP. For photographs with no transparency, this is a non-issue.
What about printing?
For commercial press work you'll typically move to TIFF or a high-quality JPG in CMYK, not PNG — print workflows expect those. For home and desktop printers, both a high-quality JPG and a PNG work fine; PNG's larger file is simply unnecessary for a photograph that has no transparency and no text.
A quick way to remember
If the image contains letters, logos or a cut-out shape, or if you'll edit it repeatedly, it's a PNG job. If it's a photograph headed out into the world, it's a JPG job. When both are true at once, use WebP on the web and JPG everywhere else — that covers the awkward middle ground without a second thought.
How to convert between them
If you have a PNG photo that's needlessly heavy, or a JPG that needs a transparent background (in which case convert to PNG, since JPG can't carry one), the converter above handles it in-browser with no upload. Start from the PNG to JPG converter for the common direction, or use the generic tool for RAW to JPG and other sources.