PNG to JPG Converter

Convert PNG images to JPG with adjustable quality control. Reduce file size while preserving clarity — batch processing runs privately in your browser.

Advertisement

Convert PNG to JPG in your browser, with control over what happens to transparency

Drop one or more PNG files onto the upload area, set the JPEG quality slider, and click Convert All. Each file is decoded, drawn onto an HTML canvas, and re-encoded as JPEG using your browser's built-in JPEG encoder. Nothing is uploaded. There is no server round trip, no queue, no account, and no temporary copy of your image sitting on someone else's disk — the conversion happens inside the page you are already looking at, and the converted file exists only as an object URL in your own tab until you download it or close the page. The file size limit is 50 MB per file, and the tool accepts PNG input only.

Most of the time the interesting part of a PNG→JPG conversion is not the conversion itself. It is the two things the conversion silently decides for you: what happens to the transparent pixels, and how much detail the encoder is allowed to throw away. This page is about getting both of those right.

Transparency: what actually happens to the alpha channel

A PNG can carry a fourth channel alongside red, green and blue: alpha, which records how opaque each pixel is. A value of 0 is fully transparent, 255 is fully opaque, and everything between is partial — the soft edge around an anti-aliased logo, the fade at the bottom of a gradient, the feathered shadow behind a product cutout.

Baseline JPEG has no alpha channel at all. There is nowhere in the file format to record "this pixel is see-through". So a converter cannot preserve transparency; it can only decide what colour to put underneath it. This tool composites every image onto an opaque white background before encoding. Concretely, the canvas is filled with #ffffff and your PNG is drawn on top, so:

  • Fully transparent pixels become pure white.
  • Partially transparent pixels are blended with white in proportion to their alpha. A 50% opaque black pixel becomes mid grey.
  • Anti-aliased edges — the single-pixel soft border around text and logo shapes — get lightened, because they were designed to blend with whatever was behind them and white is now what is behind them.

The background colour is fixed at white in this tool; there is no matte colour picker. That is the right default for the common cases (posting to a forum that rejects PNGs, attaching to a document, uploading to a system that only accepts JPEG) and the wrong one if your logo is white or near-white, or if the image will sit on a dark page. If you need a different matte, composite the PNG onto your chosen background colour first in an image editor, flatten it, and then convert the flattened PNG here.

The white-halo problem, and how to recognise it

The classic failure is a logo that was exported with a transparent background, converted to JPG, and then placed on a coloured page. It arrives with a white rectangle around it. This is not a bug in the converter and it is not fixable after the fact — the transparency information is gone from the file, and the white is now real image data. If you are ever going to place the image on a non-white background, do not convert it to JPEG. Keep the PNG, or use WebP, which supports alpha.

A subtler version affects images that were already flattened onto white: the edges look fine at full size but show faint grey fringing when the image is scaled down, because JPEG's compression smears the high-contrast boundary between the shape and the white field. Raising the quality slider reduces it.

When JPEG is the right call — and when it is a mistake

JPEG was designed for continuous-tone photographic content. Its compression works by transforming the image in 8×8 pixel blocks and discarding the high-frequency detail your eye is least sensitive to. That assumption holds beautifully for a photograph of a face or a landscape, where neighbouring pixels are already similar, and holds badly for anything with hard edges and flat colour.

Source imageBest formatWhy
Photograph, product shot, scanned artworkJPEGSmooth tonal gradients compress extremely well; PNG stores them almost losslessly and pays a large size penalty for it
Logo, icon, flat-colour illustrationPNG (or SVG)Large areas of identical colour compress better losslessly; JPEG adds visible noise around edges and cannot hold transparency
Screenshot containing text or UIPNGText edges are the worst case for JPEG — letterforms pick up a shimmering halo that makes small type harder to read
Line art, diagrams, charts, mapsPNGThin dark lines on white are exactly the high-contrast edges JPEG smears
Image with any transparency you still needPNG or WebPJPEG cannot store an alpha channel
Photograph with a small transparent border you do not needJPEGThe white matte is harmless and the size saving is large

A practical test: zoom into the image and look for edges where a dark colour meets a light colour across one or two pixels. Lots of those edges means JPEG will cost you visible quality. Very few means JPEG will cost you almost nothing and save a great deal of space.

Why the file usually gets smaller, and occasionally does not

For photographs, a PNG stores essentially every pixel and a JPEG stores an approximation, so the JPEG is normally dramatically smaller. The tool shows the before and after size for every file along with the percentage change, so you can see the actual result for your image rather than a rule of thumb.

The percentage occasionally comes out positive — the JPEG is larger than the PNG. That is not a malfunction. It happens when the source PNG was an efficient one: a flat-colour graphic, a screenshot with few colours, or an 8-bit palette PNG. PNG's filtering plus DEFLATE can encode those in very few bytes, while the JPEG encoder has to spend bits describing the noise that its own transform introduces at the edges. If you see a size increase, that is the tool telling you this particular image should have stayed a PNG.

Choosing a quality setting

The slider runs from 10 to 100 and defaults to 92. It is passed straight through to the browser's JPEG encoder as the quality parameter. The number is not a percentage of anything meaningful — it is a knob on how aggressively detail is discarded, and the relationship between the number and the resulting file size is steeply non-linear. Dropping from 100 to 90 typically removes a large fraction of the bytes for very little visible change; dropping from 50 to 40 removes far less and hurts far more.

QualityReasonable useWhat to expect
100Intermediate file you will edit againMuch larger than 95 for essentially no visible gain; still lossy
92 (default)General purpose, print-ish, archival copiesArtefacts are hard to see even when zoomed
80–85Web images, blog headers, product photosNoticeably smaller; artefacts visible only on close inspection of edges
60–75Thumbnails, email attachments, upload size capsBlocking becomes visible in flat areas like skies
Below 50Only when a hard byte limit forces itObvious 8×8 blocking and colour smearing

Two things are worth knowing about how browsers encode JPEG. First, colour is usually stored at lower resolution than brightness — your eye is far more sensitive to luminance detail than to chroma detail, so encoders exploit that. It is why saturated red text on a dark background is the single hardest thing to compress as JPEG and often looks smeared even at high quality settings. Second, quality settings are not comparable between encoders: "quality 80" in your browser, in Photoshop, and in a command-line tool will not produce the same file. Judge by the output, not by the number.

Generation loss: why you should not convert the same image twice

Every JPEG save is a fresh lossy encode. Decoding a JPEG gives you pixel values that no longer sit neatly on the encoder's transform grid, so re-encoding them discards a new round of detail on top of the detail already lost. Do that repeatedly — save, open, crop, save, send, someone else saves it again — and the artefacts compound until edges are visibly mushy and flat areas develop blotches. This is generation loss, and it is why a photo that has been passed through several chat apps looks the way it does.

The defences are simple:

  • Keep the PNG (or the camera raw, or the layered original) as your master copy. Treat the JPEG as an export, not as the file you edit.
  • Convert once, at the end, at the quality you actually need — not repeatedly at each step of an edit.
  • If you must re-export an image that is already a JPEG, use a high quality setting. It will not recover what was lost, but it stops you adding much more.
  • Because this tool converts PNG→JPG only, it will not let you accidentally run a JPEG through a second time. If you need to re-compress an existing JPEG, that is a different job.

What the conversion does not carry over

Canvas-based conversion produces a clean, newly encoded JPEG. That is usually what people want, but it means some things in the original file do not survive:

  • Metadata. Text chunks in the PNG — author, description, software, comments — are not copied into the JPEG. The output carries no EXIF block. For privacy-minded users this is a feature; if you were relying on embedded captions, note that they are gone.
  • Colour profile nuance. The image is decoded and drawn by the browser before it is re-encoded. A PNG tagged with a wide-gamut profile may come out with colours converted for display rather than with the original profile preserved. For sRGB images — almost everything on the web — this is a non-issue.
  • Animation. APNG animation is not preserved; you get a single frame.
  • Bit depth beyond 8 bits. JPEG stores 8 bits per channel, so a 16-bit PNG is reduced.

Pixel dimensions are preserved exactly. This tool does not resize, crop or rotate — the output has the same width and height as the input.

Working with several files

You can drop in a batch. Files are converted one after another and each row shows its own status, its original size, its converted size and the percentage change, so a failure on one file does not stop the rest. Every file in a batch uses the same quality setting; if some images need a different setting, convert them as a separate batch.

"Download All" saves each completed file individually rather than bundling them into a ZIP archive. Browsers often ask for permission the first time a page tries to save multiple files in quick succession — allow it, or use the per-row Download button. Output files keep the original name with the extension changed from .png to .jpg.

Common questions

  • Are my files uploaded anywhere? No. Reading, decoding, encoding and downloading all happen in your browser. The conversion works with the network disconnected once the page has loaded.
  • Is this reversible? No. JPEG encoding discards information permanently, and converting the result back to PNG gives you a lossless copy of a lossy image — a large file that still contains all the artefacts. Keep the original PNG.
  • Can I keep the transparent background? Not in a JPEG; the format has no way to store it. Use PNG or WebP if transparency matters.
  • Why does my white logo disappear? Because it is being composited onto white. Flatten it onto a contrasting colour first.
  • Does .jpg differ from .jpeg? No. They are the same format; the three-letter extension is a leftover from filesystems that only allowed three characters. This tool writes .jpg.
  • Nothing happens when I drop a file. Files that are not PNG, or that exceed 50 MB, are silently ignored. Check the extension and the size.
  • Can I convert a JPG back to PNG, or handle other formats? Not here — this page is PNG in, JPEG out. Our image format converter covers the wider set of formats.
This tool is provided for informational and educational purposes only. All processing happens in your browser — no data is sent to or stored on our servers. While we strive for accuracy, we make no warranties about the completeness or reliability of results.
PNG to JPG Converter - No Upload | InventiveHQ