JPG vs PNG: which one should you use?
Last updated: 28 October 2026
JPG and PNG are the two image formats every device and program understands, and choosing the wrong one gives you either huge files or blurry text. The rule of thumb is short: JPG for photos, PNG for everything with sharp edges or transparency. Here is why.
The key difference: lossy vs lossless
JPG is lossy. It throws away detail the eye is unlikely to notice, which makes photos dramatically smaller. On a photo you rarely see the difference. On text, lines and flat colours you do: you get faint blotches and halos around edges, known as compression artefacts.
PNG is lossless. Every pixel is kept exactly. That keeps screenshots and graphics perfectly crisp, but it makes photos several times larger than the same photo as a JPG.
Side by side
| JPG | PNG | |
|---|---|---|
| Compression | Lossy | Lossless |
| Photos | Small files, looks great | Often 3–5 times larger |
| Text, screenshots, logos | Blurry edges | Perfectly sharp, often smaller |
| Transparency | No | Yes |
| Re-saving | Loses a little quality each time | No loss |
Which to use when
- Photos from a camera or phone: JPG.
- Screenshots, especially with text: PNG.
- Logos, icons and illustrations with flat colours: PNG, or SVG if you have it.
- Anything with a transparent background: PNG.
- Images you will edit again and again: keep a PNG master and export a JPG at the end.
- Upload forms with a size limit: usually JPG.
Converting between them
To shrink a large PNG photo, convert it with PNG to JPG. JPG cannot store transparency, so transparent areas are filled with a background colour you choose, white by default.
Converting the other way with JPG to PNG is useful when a program or form requires PNG, or when you want to edit an image without further quality loss. It cannot restore detail the JPG has already discarded, and the file gets larger.
What about WebP?
For websites, WebP combines the strengths of both: lossy like JPG for photos, lossless with transparency like PNG for graphics, and smaller than either. All current browsers support it, so converting your site’s images with PNG to WebP or JPG to WebP is worth it. For files you send to other people, JPG and PNG remain the safest choice. Read more in What is a WebP file?
Tools used in this guide
PNG → JPG
Shrink big PNG photos and screenshots into compact JPG files.JPG → PNG
Convert JPEG photos to lossless PNG for editing or uploading.PNG → WEBP
Make PNG images much smaller for websites, with transparency kept.
More guides
- How to open HEIC photos on WindowsWhy iPhone photos arrive as .heic files, and three ways to open or convert them on a PC.
- How to make a PDF small enough to emailWhy scanned and photo-heavy PDFs get so big, and how to shrink them under email limits.
- What is a WebP file, and how do you open it?Why images saved from websites end up as .webp, and how to turn them into PNG or JPG.
- How to turn PDF pages into imagesSave PDF pages as JPG or PNG, and pick the right resolution for screen, slides or print.
- How to make a favicon for your websiteWhich icon sizes you need, ICO vs PNG vs SVG, and the HTML to add to your site.
- What is an AVIF file, and how do you open it?Where .avif files come from, which apps open them, and how to turn them into JPG or PNG.
- What is a JFIF file, and why does Windows keep saving them?Why downloaded pictures end in .jfif, why they are really JPEGs, and how to get .jpg files.
- How to combine photos or scans into one PDFTurn phone photos of documents into one tidy PDF, with tips for sharp pages and small files.
- How to resize photos for email, upload forms and the webWhich pixel sizes to use for email, websites and profile pictures, and how to resize them.
- How to merge, split and reorder PDF pagesCombine PDFs, extract or remove pages, and change the page order without special software.
- How to open TIFF files and convert scans to JPGWhy scanners save .tif files, which apps open them, and how to turn them into JPG or PDF.
- How to reduce a photo to 100 KB or any size limitGet a photo or scan under an upload limit like 100 KB without making it unreadable.