Convert PNG to JPG

Convert PNG images to JPG in your browser. Choose the JPG quality and the colour that replaces transparency. Free, batch, no upload and no watermark.

🌐 Español

Drop your files here (.png)

🔒 Private by design: your files are processed locally in your browser and never uploaded to any server.

The alpha channel JPEG does not have

A PNG can store four numbers for every pixel: red, green, blue and alpha. Alpha is the transparency channel, and it is the single reason PNG became the default export format for logos, icons, UI assets, stickers and anything else designed to sit on top of something else. JPEG stores three numbers and stops there. There is no slot in the file format for “this pixel is forty percent see-through” and no encoder setting that invents one.

Every PNG-to-JPG conversion therefore has to answer a question the PNG itself never had to answer: what is behind the picture? This tool answers it out loud instead of quietly. The image engine fills the whole canvas with the colour you choose, then draws your PNG over the top of it. A fully transparent pixel becomes that colour outright, and a half-transparent pixel becomes a real blend of your artwork and that colour.

That is worth spelling out because the alternative is worse. Drawing a PNG onto a fresh, empty canvas and asking for JPEG leaves the transparent pixels composited against black, which is how a great many converters produce logos with unexpected dark halos. Choosing the fill colour deliberately is the whole point of the second option on this page.

Picking white or black for the flattened areas

There are two values, White (recommended) and Black, and they map to plain #ffffff and #000000 in the code. White is right for almost everything: documents, printed pages, marketplace listings, résumés, forms and any layout with a light background. Black is there for the cases where the JPG is destined for a dark interface or a dark slide, where a white rectangle behind a logo would be far more obvious than a black one.

The catch is that neither choice is reversible, and neither one is contextual. The colour is baked into every transparent pixel of the output, so a logo flattened onto white will keep that white rectangle forever, no matter what page you later place it on. If you genuinely need the picture to adapt to different backgrounds, the JPG is the wrong format and the PNG you already have is the right one.

Running a PNG batch through the converter

  1. Drop your PNG files onto the box above, or click Choose files. Files added across several drops accumulate, and a file matching one already in the list on both name and size is skipped.
  2. Set JPG quality (1–100). It starts at 90, which the module hands to the encoder as a quality of 0.9.
  3. Choose the Background for transparent areas value that matches wherever the JPG is going to end up.
  4. Click Convert PNG to JPG. The progress bar advances one step per finished file, so a batch of twenty moves in twenty jumps.
  5. Take the download link that appears under each result, then click Process another when you want to clear everything and start a fresh batch.

Screenshots of text are PNG’s home turf, not JPEG’s

JPEG compression was designed around photographs: smooth gradients, gentle noise, no hard geometry. It works by transforming small blocks of pixels into frequency coefficients and then rounding the ones your eye is least likely to miss. Photographs survive that beautifully. Sharp black-on-white edges do not, which is why screenshots of code, spreadsheets, charts, invoices and user interfaces pick up faint ringing and smeared halos around the lettering even at quality settings that look flawless on a portrait.

So the honest advice is to match the format to the content. Photographs, product shots and scanned artwork are ideal JPEG material and shrink dramatically. A crisp screenshot of text is not, and if that screenshot is the thing being shared rather than a decorative element, it is usually better to keep the PNG and shrink it losslessly with Optimize PNG instead of converting the format at all.

Where the quality number between 1 and 100 lands

The field accepts anything from 1 to 100, clamps out-of-range entries, and then divides by one hundred to get the value the browser’s JPEG encoder actually wants. Clearing the box is safe: an empty field, or one holding something that is not a number at all, is read as “no value given” and the conversion falls back to the 90 the page started with rather than to the bottom of the scale. A number you actually type is still clamped, so a stray 0 or 250 lands on 1 or 100. Ninety is a deliberately conservative default: on ordinary photographic content the difference from the source is hard to see at normal viewing distance, while the file drops substantially because PNG’s lossless compression is a poor fit for photographic detail in the first place.

Values in the mid seventies and low eighties are the usual sweet spot when a form is enforcing a size cap. Below roughly sixty, blocking starts to show in flat areas such as skies and skin, and it shows first around any edge in the picture. There is no single correct number, and because the conversion runs on your own machine you can simply try two values on one image and compare before committing a whole folder.

Keeping the PNG master after you export the JPG

Treat the JPG as an export, not as a replacement. Converting the other way with JPG to PNG will give you a valid PNG, but it will be a lossless copy of the already-degraded JPEG rather than a recovered original, and the transparency you flattened is gone for good. Keeping the source PNG costs you disk space and nothing else.

The rest of the raster converters, including the WebP and AVIF routes that usually beat JPEG on size, are on the image tools hub, and the image converter and editing guide walks through which format suits which job.

See it in action

Screenshot of the Convert PNG to JPG tool with sysfenix-sample.png (466 KB) loaded, JPG quality (1–100) set to 90, Background for transparent areas set to White (recommended)
Convert PNG to JPG mid-process: sysfenix-sample.png (466 KB) loaded, JPG quality (1–100) set to 90, Background for transparent areas set to White (recommended).
Screenshot of the Convert PNG to JPG result screen showing sysfenix-sample.jpg ready to download (40 KB, 91% smaller)
The finished result: sysfenix-sample.jpg ready to download (40 KB, 91% smaller). The download link is a local blob URL — the file never leaves your device.
Diagram: how the bytes of a PNG file are laid out compared with a JPG file — lossless filtered scanlines in a chunk stream versus quantised DCT blocks in JFIF segments
How the bytes of a PNG file are laid out compared with a JPG file — lossless filtered scanlines in a chunk stream versus quantised DCT blocks in JFIF segments.

Frequently asked questions

My logo came out with a solid box around it. What went wrong?

Nothing went wrong; that is the flattening step doing its job. JPEG has no transparency channel, so the empty area around your logo has to become a real colour, and the tool paints the canvas with the background you selected before drawing the image on top. Pick Black if the JPG will sit on a dark layout, or keep the PNG when the transparency itself is the point.

Why does the drop shadow on my PNG look dirty after conversion?

Soft shadows and glows are stored as partly transparent pixels, and a partly transparent pixel gets blended with the background colour rather than replaced by it. Flattened against white, that same shadow reads as a pale halo once the JPG lands on a dark page. Nothing inside a JPEG can undo it, so composite the shadow onto its real background before converting.

Does setting the quality to 100 make the conversion lossless?

No. A value of 100 asks the JPEG encoder to keep as much as it can, but the format still discards information in its frequency transform and its colour handling, and the output can end up larger than the PNG you started from. If you need every pixel exactly as it was, the PNG is already that file.

What do the converted files end up being called?

A trailing .png is stripped from each name and .jpg is put in its place, so screenshot.png becomes screenshot.jpg and the rest of the name is untouched. The match ignores case, so Screenshot.PNG behaves identically. A name that does not end in .png would simply keep its own extension and gain .jpg after it, but nothing ever reaches that case in practice, because the dropzone accepts .png and refuses everything else before conversion starts.

Can I add more images once a batch has started converting?

No. The dropzone stops accepting files once a run starts and stays closed while the results are on screen, so anything dropped during the conversion or afterwards is ignored. Clear the list with Process another and drop the next set in. Within one batch, files added across several drops do accumulate, and duplicates matching on both name and size are skipped.

Related tools