FreeToolio

PNG to JPG

Drop PNG images here and get JPEG copies back in this tab. The browser decodes the PNG, paints any transparency onto the matte colour you pick — JPEG has no alpha channel — and re-encodes the pixels at the quality you set. Each file's header is read first, so the card can tell you whether the source was 8-bit, 16-bit, a palette image or an animated PNG. Nothing is uploaded.

Drop PNG images here

or choose files · up to 30 at a time · batch or single

    PNG in, JPG out · up to 30 files per batch · quality 40–100 · transparency flattened onto a matte · no upload · no account · no watermark

    PNG to JPG: What Converts, What Smears, and When to Keep the PNG

    PNG to JPG is a bet that the file in front of you is a photograph. When it is, the saving is large: a 4032 × 3024 photo that weighed 7.44 MB as a PNG came out of this tool at 1.08 MB. When the file is a screenshot, a logo or a gradient, the same conversion can hand back something bigger than it started with. A 600 × 600 flat logo went from 1.9 KB to 16.1 KB. Everything runs in this tab, the pixel dimensions never change, and the card under each file tells you which of the two you are holding before you use it.

    Three PNG files measured before and after conversion: a photo falls from 7.44 MB to 1.08 MB, a screenshot grows from 280 KB to 317 KB, a flat logo grows from 1.9 KB to 16.1 KB
    One conversion, two directions. The photo loses 86% of its bytes; the screenshot and the flat logo come back bigger than the PNG, because PNG already stores flat colour cheaply.

    What a PNG holds that a JPG cannot store

    A PNG is lossless. Each pixel is written exactly as it was read, and a pair of filters plus zlib takes care of the repetition, which is why large areas of one colour cost almost nothing. A JPEG divides the image into 8 × 8 blocks, converts each block into frequencies, and throws away the ones the eye is least likely to miss. Four things in a PNG have no place in that scheme:

    • Transparency. PNG keeps an alpha value for every pixel. JPEG has no alpha channel at all, so a fully or partly transparent pixel has to be painted over with something.
    • Palette and bit depth. A PNG can be 1-bit palette art or 16 bits per channel. JPEG is 8-bit RGB, always.
    • Exact values. A lossless source survives a PNG round trip untouched. JPEG changes pixels by design, a little in flat areas and a lot at hard edges.
    • Hard edges. A screenshot is mostly flat colour crossed by one-pixel steps. A step is the most expensive thing a JPEG can be asked to store, and ringing around small text is what you see when it gives up.

    The tool keeps the width and height exactly as they were. It does not resize, crop or rotate; it decodes the PNG, paints it onto a canvas and encodes the canvas as a JPEG.

    How to convert PNG to JPG here

    1. Add the files. Drop them on the box above, choose files, or paste a screenshot. Up to 30 at a time, and each file can be up to 80 MB or 100 megapixels.
    2. Set the quality. The JPEG quality slider runs from 40 to 100, and the list re-encodes about a fifth of a second after you stop moving it. There is no run button.
    3. Pick the matte colour. White is the default, light grey and black are one click away, and the colour picker takes any value. This is the colour that shows through wherever the PNG was transparent.
    4. Download. Each card has its own download link, and the button under the panel packs the whole batch into one ZIP built in the tab.

    The card under each file also reports what the header said: 8-bit RGB, 8-bit RGBA, 1-bit palette, 16-bit greyscale, and whether the PNG was animated. Those labels are read from the file itself, not from its extension.

    Why this page doesn't upload your PNG

    The conversion needs a decoder, a canvas and an encoder, and every browser ships all three. A server adds a copy of your file, a queue and a download on the way back, and none of that makes the JPEG better. Here the file is read into the tab, drawn on a canvas at its own size, and encoded by the same browser you are looking at.

    You can check it without trusting a word of this. Open DevTools (F12), go to the Network tab, then convert a file: no request carries your image. The stronger test is to load this page, disconnect from the internet and convert anyway. Two files went through with the network switched off, and the resource log for the run was empty.

    The bet, priced: five PNGs through the same tool

    Five files, one tab, quality as the only variable. The size columns are the same file encoded at four quality settings; the arrow after each number is the change against the PNG it came from.

    What went in As PNG JPEG q40 JPEG q70 JPEG q85 JPEG q95
    2× screenshot of this site, 2560 × 1800 280 KB 166 KB (−41%) 233 KB (−17%) 317 KB (+13%) 486 KB (+74%)
    Photo saved as PNG, 4032 × 3024 7.44 MB 488 KB (−94%) 936 KB (−88%) 1.08 MB (−86%) 1.41 MB (−81%)
    Logo with transparency, 800 × 800 87.0 KB 12.0 KB (−86%) 16.7 KB (−81%) 22.9 KB (−74%) 39.5 KB (−55%)
    Flat logo, 600 × 600, 1-bit palette 1.9 KB 9.2 KB (+381%) 12.4 KB (+548%) 16.1 KB (+740%) 22.3 KB (+1064%)
    16-bit grey gradient, 4096 × 256 2.7 KB 7.2 KB (+161%) 7.6 KB (+176%) 8.3 KB (+201%) 8.8 KB (+219%)

    Read the first row twice. The screenshot does not shrink at the default quality; it grows by 13%. At quality 70 it is 17% smaller than the PNG, and only at quality 40 does it get properly smaller (166 KB). The photo in row two goes the other way at every setting: a tenth of the size at the bottom of the range, and still 86% smaller at the top.

    The logo sits in the middle. It has a large transparent area, and the matte colour compresses well, so the JPG lands at 22.9 KB against 87.0 KB. The flat logo has almost nothing for JPEG to throw away, because there is almost nothing in it: four colours, hard edges, and a 1.9 KB file that JPEG re-encodes into 16.1 KB.

    Where the bytes go when the JPG comes out bigger

    A PNG spends its space on a filter and a deflate stream. Rows of identical pixels collapse; a screenshot with large areas of paper white costs almost nothing per row. A JPEG does not have that option. Every 8 × 8 block is transformed and quantised, so a flat area still costs bits, and a hard edge costs many more.

    The conversion also rewrites the colour. Sampling the 2× screenshot found 3,545 distinct colours in the PNG and 33,295 in the JPEG, because the encoder produces slightly different values around every edge. None of them are visible as new colours; they are the noise that ringing is made of.

    The same effect shows up in the pixel diff. Every pixel of the screenshot was compared with the JPG at quality 85: the average change was 2.6 levels out of 255, the largest was 118, and 1.83% of pixels moved by more than 24 levels. At quality 70 the average rose to 3.24 levels and 2.26% of pixels moved by more than 24. On the photo, the same comparison at quality 85 found an average change of 0.48 levels and no pixel moving more than 8 levels, because photographic detail hides the error that text exposes.

    The 16-bit file is worth a line of its own. Chrome decodes a 16-bit PNG into an 8-bit canvas, so a gradient with 4,096 steps in the file came back with 256 levels, 0 to 255. That is not a setting you can turn off in a browser tab. If the extra depth matters, the JPG is the wrong output.

    What happens to the transparent part

    JPEG cannot store transparency, so the tool does the only thing it can: it paints the canvas with the matte colour first and draws the PNG on top. In the test logo, 57% of the pixels were fully clear and another 10% were half-transparent. The clear part becomes the matte colour exactly. The half-transparent ring blends toward it, which is why a logo with a soft shadow looks heavier on black than on white.

    White and black are not the same file size. The same 800 × 800 logo came out at 22.9 KB on white and 23.9 KB on black at quality 85, because the encoder has a slightly harder time with the darker surround.

    If the transparency has to survive, the answer is to keep the PNG, or to use SVG for flat artwork. Converting a cut-out to JPG and converting it back does not restore the alpha channel; the matte colour is now part of the picture.

    Which PNGs should stay PNGs

    • Screenshots and UI captures. Smaller as PNG and sharp at 100%. Converting them buys nothing and costs edge quality.
    • Logos, icons and line art. Flat colour is what PNG's filter was built for; JPEG adds ringing and, at these sizes, bytes.
    • Images that still need an alpha channel. Anything you will composite again later.
    • 16-bit or palette sources where the values matter. The canvas hands you 8-bit RGB.
    • Photographs, especially camera and phone exports. This is the case the conversion is for, and the saving is measured in megabytes, not kilobytes.
    • Scans and document images. JPG is fine for a photo-like scan, but a PDF or a PNG keeps text edges cleaner if the page will be read or printed.

    One more distinction: a smaller file is not the same as a smaller picture. This tool never changes the pixel dimensions, so a 4032 × 3024 photo stays 4032 × 3024 however low you push the quality. If you need fewer pixels as well, resize first and convert after.

    Check the result before you delete the original

    • Zoom to 100% and look at the smallest text. Ringing shows up around glyphs before anywhere else.
    • Compare the two file sizes. If the JPG is not smaller, there is no reason to keep it.
    • Put the JPG on the background it will live on. A logo flattened to white looks wrong on a dark page.
    • Keep the PNG until the JPG has been used once. Re-encoding an already converted JPG costs another generation of quality, and the original is the only clean copy.

    Quick answers

    Why does a 1.9 KB logo turn into a 16 KB JPG? Because the PNG was almost empty: four colours, long runs of identical pixels, one filter pass. JPEG has no palette and no run-length shortcut, so it pays for every 8 × 8 block, and the smallest file it produced here was 16.1 KB at quality 85.

    Does PNG to JPG lose quality? Yes, at every quality setting. On the 2× screenshot the average pixel moved 2.6 levels out of 255 at quality 85 and 1.83% of pixels moved by more than 24 levels. On a photo the same setting moved the average by 0.48 levels. The loss is real in both cases; the eye notices it on text first.

    Can I keep the transparent background? Not in a JPG. The file format has no alpha channel, so the transparent pixels take the matte colour you choose. If the cut-out has to stay transparent, keep the PNG or use SVG.

    Does the image keep its pixel dimensions? Yes. The canvas is created at the source width and height, so 2560 × 1800 in gives 2560 × 1800 out. Quality changes the bytes, not the grid.

    What happens to a 16-bit PNG? The browser decodes it into an 8-bit canvas. A 4,096-step gradient read back as 256 levels, and the JPG cannot hold more than that anyway.

    Is PNG or JPG smaller for screenshots? PNG, in the test above: 280 KB against 317 KB for the JPG at quality 85. JPEG only wins once the quality drops far enough to blur the text, which is the wrong trade for a screenshot.