Image tool

JPG to PNG

Convert JPG to PNG in your browser, up to 50 at a time, for editors or forms that need PNG. Files stay on your device. No watermark.

Last updated:

Processing mode: Private Runs in your browser

  • Files are processed in your browser

PNG is lossless — no quality setting needed. Output is deterministic.

Waiting for JPG images.

How to use it

How to use JPG to PNG Converter

  1. Drop your JPG files onto the workspace, paste from the clipboard, or pick them with the file picker. Up to 50 images per batch, 100 MB per file.
  2. Click Convert. There is no quality setting because PNG is a lossless container — the encoder writes exactly the decoded pixel data the JPG produced, with no further loss and no parameter to tune.
  3. Each JPG decodes through the browser's built-in image path, draws onto a canvas, and re-encodes as PNG through `canvas.toBlob('image/png')`. Canvas PNG encoding is supported in every current browser — Chrome, Edge, Firefox, and Safari — because PNG is the Canvas API's default output format. Download individually or grab the whole batch as a single ZIP.

Good for

Common use cases

JPG and PNG are designed for different jobs. JPG uses lossy compression and suits photographs. PNG uses lossless compression and suits line art, screenshots, interface captures, logos and transparent images. Converting JPG to PNG does not restore lost detail or transparency. It puts the decoded JPG pixels into a lossless container. Existing JPG artefacts remain in the PNG. A white background in the JPG also stays white because the source contains no alpha channel. Use this tool when a destination requires PNG, or when you need a lossless intermediate for later edits. It can also help teams standardise documentation images before repeated edits. The conversion runs in your browser and supports batches of up to 50 images. Your source files do not leave the device. Add files by drag-and-drop, file picker or clipboard. Preview each result, then download one PNG or collect the batch in a ZIP. Keep the source JPG when file size matters or when you may need the original file later.

Privacy

Runs in your browser

Files are processed by your browser. They never reach our servers.

Questions

JPG to PNG Converter: common questions

Why convert JPG to PNG at all?

Compatibility and lossless-workflow preference, not quality recovery. JPG is a lossy container that loses detail on every save; PNG is a lossless container that preserves whatever is drawn into it. Converting a JPG to PNG does not restore the detail JPG already discarded — the JPG artefacts (soft halos around text, blocky compression around sharp edges, colour shift in low-light photo regions) are baked into the source and survive the conversion intact. The reason to convert is that the destination platform specifies PNG (some upload portals, print-on-demand vendors, game-store screenshot submission paths), or the workflow prefers a lossless intermediate so the asset survives multiple edit-save-export cycles without each round adding more lossy compression — game engines, pixel-art editors, and texture-painting tools all accept JPG too, but PNG is the preferred on-disk source of truth for any asset that will be re-edited or re-exported. Documentation workflows similarly standardise on PNG to avoid quality drift across commit cycles. If the destination accepts both formats and the asset is not going to be re-edited, the JPG is usually the better choice because it is smaller and the visual quality is the same — PNG offers no improvement over the source JPG it was converted from.

Does this restore image quality or transparency?

No. PNG is a lossless container, but the conversion only preserves whatever is in the source JPG — it does not invent detail that was not there. JPG compression discards image data permanently when the file is saved, and that discard cannot be reversed by any conversion tool. The PNG output is a perfectly faithful copy of exactly the pixel data the JPG decoded to, including all the compression artefacts. Transparency is similar: JPG has no alpha channel, so a JPG of a logo on a white background converts to a PNG with that white background still present. PNG cannot recover transparency that the JPG never stored. If you need a transparent-background PNG of a logo or icon, the source has to be a vector file or a PNG that already had alpha — not a JPG.

Will my files get bigger?

PNG files can be larger than their JPG sources. JPG saves space by discarding visual detail, while PNG stores the decoded pixels without lossy compression. The exact size change depends on the image. Convert when the destination or editing workflow requires PNG. Keep JPG for ordinary photo delivery, sharing or storage.

Why is there no quality slider?

PNG is a lossless format. Unlike JPG (which has a quality parameter that trades visual fidelity for file size) or WebP and AVIF (which expose similar controls), PNG encoding has no quality dial — the encoder writes exactly the input pixel data, with the only variable being how aggressively the zlib compression stage packs the result. Browsers do not expose a control over zlib compression level through `canvas.toBlob`, and the difference between compression levels is small relative to the lossless-vs-lossy choice that already matters more. Skipping the slider is honest UX: there is no setting that changes the output's visual quality, so showing a control would imply a choice that does not exist.

Which browsers can run this JPG to PNG converter?

Every current Chrome, Edge, Firefox, and Safari. JPG decoding via `<img>` has been universally supported across browsers for the entire history of the modern web. Canvas PNG encoding through `canvas.toBlob('image/png')` is supported in every current browser without exception — PNG is the default output format the Canvas API falls back to when no MIME is specified, so it is the most reliably available encode target the browser exposes. Unlike WebP and AVIF (which Safari does not currently encode through the Canvas API), there is no browser-version caveat for this conversion direction. The tool still verifies the encoded blob's MIME type as a defensive check before writing the output file, so any future edge case surfaces a clear error rather than a misnamed file.

Is there a file size or batch limit?

Each JPG must be under 100 MB and a single batch can hold up to 50 images. The 100 MB cap protects lower-RAM devices from running out of memory during decode, since the browser materialises the full pixel grid into a canvas before re-encoding — a 100 MB JPG can expand to several hundred megabytes of decoded pixel data in memory. The 50-file cap keeps the ZIP build responsive — for large batches the bottleneck is browser memory, not the conversion itself, since each image processes sequentially. If you need to convert more than 50 images, run the tool twice and stack the resulting ZIPs — the conversion is deterministic, so the second batch produces output identical to what one continuous run would have written.

Will this tool stay free?

Yes. Everything this tool does is free. On some tools, a Day or Project Pass raises the file-size and batch limits if you need more.