Image · 55 tools · nothing uploads

JPG to PNG

Rewrite a JPG as a lossless PNG. Every block edge and ring the JPEG already baked in is copied across exactly, in a much larger file.

Input

JPG to PNG gives a photograph a fourth channel it has no use for: PNG stores alpha for every pixel, and every one of them comes out fully opaque. The blocking and ringing the camera or the export left behind are then stored exactly, at full precision, permanently. Expect a file several times the size of the JPG.

Questions

Does converting a JPG to PNG improve its quality?

No. The JPEG is decoded to pixels and those pixels are written out as a lossless PNG, so every ringing artifact and blocky edge the JPEG encoder already produced is copied across exactly. Nothing sharpens or removes what the JPEG compression left behind, the PNG only stops losing anything further.

What is lost in the conversion?

Nothing new. The losses already happened when the source was saved as JPEG, and the PNG encoder preserves whatever is left, pixel for pixel. Metadata such as EXIF tags does not survive, because the pipeline decodes to a plain pixel buffer with no room for the original tags.

Which engine handles this, and does it need a browser?

jSquash reads the JPEG with a WebAssembly build of mozjpeg and writes the PNG with a WebAssembly build of the squoosh codec. Both run the same way in Node, on the command line, through MCP and in the browser, so this pair needs no browser tab and no download.

How much bigger does the file get?

Several times bigger in most cases, since JPEG compression comes largely from throwing detail away and PNG has to store whatever pixels are left with no lossy shortcut. A photograph typically grows more than a simple graphic does.

Is there a page for the reverse conversion?

Yes. PNG to JPG runs the opposite direction, flattening a PNG down to a lossy JPEG and dropping any transparency along the way.

Related Image tools