fileformer
search⌘KtranslateENexpand_moreupload_fileConvert
Converters8 file families · 44 direct conversions
What changes in a conversionarrow_forward
home/image/png-to-jpg

PNG to JPG Converter

PNG to JPG: find the quality where the size drops and the picture doesn't.

Your PNG is saved as JPG ten times, at quality 10 to 100, by your browser's own encoder. Each result is decoded again and compared with the original, so every bar below is a real file size and every score is a real measurement. Everything happens on your device.

auto_awesomeSample with transparencymeasured 10 encodes in 185 ms
imageproduct-shot.png1600 × 1000 · 582 KB · click a barbar = JPG size · dot = quality score
PNG · 582 KB19 KB28 KB39 KB49 KB57 KB66 KB83 KB112 KB169 KB499 KB
1030.5 dB2032.5 dB3033.6 dB4034.3 dB5034.8 dB6035.3 dB7036.0 dB8037.4 dB9040.8 dB10054.9 dB
below 38 dB: damage showssweet spot, measuredbigger, barely better
quality 100 · 300% crops of the decoded JPG
text edges
sky gradient
photo texture
infoBigger, barely better (54.9 dB)This is 3.0× the size of quality 90. Worth it only if you’ll edit and re-save it.
original582 KB
JPG499 KB
change−14%
PSNR54.9 dB
colour4:4:4 baseline
encode17 ms
downloadDownload product-shot-q100.jpg · 499 KB
~/transparency-has-to-go

JPG can't be see-through. Choose what fills the gap.

JPG has no alpha channel, so every transparent or half-transparent pixel has to be blended onto a solid colour first. Browsers blend onto black when you draw straight to a JPG, which is why converted logos often appear in a black box. Pick the colour of the page the image will sit on. The file above is re-encoded with it, and the previews show the actual JPG on three pages.

fill transparent areas with
WhiteBlackCreamNavy
fully transparent pixels50.0% (800,256)
half-transparent pixels (edges, shadows)9.9%
filled withwhite #ffffff
check_circleWhite site · seamless
crop_squareCream blog · box shows
crop_squareDark app · box shows
~/should-this-be-a-jpg

Six images. Which should become JPG?

Each image below was drawn in your browser, then saved both as PNG and as JPG at quality 80. Make your call, then see the measured sizes and scores. The verdict comes from the numbers: JPG wins only if it's opaque, at least 40% smaller and scores 38 dB or more.

Product photo
make JPGkeep PNG
App screenshot
make JPGkeep PNG
Logo with transparency
make JPGkeep PNG
Holiday photo
make JPGkeep PNG
Bar chart
make JPGkeep PNG
Scanned letter
make JPGkeep PNG
~/chroma-subsampling

Why red text looks fuzzy after converting.

Eyes notice brightness detail far more than colour detail, so a JPG can store colour at half resolution: one colour sample for every 2 × 2 pixels (4:2:0). In photos you never see it. On thin coloured lines and small red or blue text, the colour smears past the edges. Each JPG made above was opened and its frame header read, so this is what your browser actually wrote:

q 104:2:0q 204:2:0q 304:2:0q 404:2:0q 504:2:0q 604:2:0q 704:2:0q 804:2:0q 904:2:0q 1004:4:4

Your browser writes 4:2:0 below quality 100 and full-resolution colour (4:4:4) from 100 up. Above that point the red edges stay clean, at the cost of a bigger file.

original PNG · 8×
JPG q 100 · 4:4:4 · 8×
At 4:4:4 every pixel keeps its own colour; what’s left at the edges is ordinary JPEG ringing.
~/what-changes

What a PNG can hold that a JPG can't

propertyPNGJPG (baseline)in this conversion
Transparency8 or 16-bit alpha, or tRNSnoneBlended onto white: 59.9% of pixels affected.
Compressionlossless (filters + DEFLATE)lossy (8×8 DCT + quantisation + Huffman)Every save loses detail again, so keep the PNG as the master.
Bit depth1-16 bits per channel8 bits (12-bit exists, rarely supported)16-bit PNGs are rounded to 8 bits.
Colour storageRGB, greyscale or paletteYCbCr, colour often at half resolutionMeasured above: 4:2:0 below q 100.
Colour profileiCCP, sRGB, gAMA, cICPICC in APP2A canvas converts to sRGB and writes no profile. Wide-gamut colours are clipped.
MetadatatEXt/iTXt, eXIf, tIME, pHYsEXIF (APP1), XMP, JFIF densityCanvas encoders write none of it: text notes, DPI and dates are dropped.
AnimationAPNGnoneOnly the first frame of an APNG is converted.
Largest size2³¹−1 px per side65,535 px per sideWider images can’t become a JPG at all.
timeline
1992JPEG published as ITU-T T.81 (ISO/IEC 10918-1 followed in 1994).
1992JFIF 1.02 defines the file wrapper most .jpg files use (standardised as ISO/IEC 10918-5 in 2013).
1996PNG 1.0 becomes a W3C Recommendation, a patent-free replacement for GIF.
2003PNG becomes ISO/IEC 15948.
2014mozjpeg 2.0 shows the old format can be squeezed 5-10% further with smarter encoding.
2025PNG Third Edition (W3C) adds HDR (cICP) and makes APNG official.