JPG to PNG converter
Convert JPG images to PNG format
Going from JPG to PNG changes the container, not the picture. Whatever the JPEG encoder threw away is already gone, so the PNG that comes out is a perfect, and much larger, copy of an imperfect image - blocking, ringing and colour smearing included. Two things do change for the better. Every trace of metadata is left behind, which quietly removes the GPS coordinates a phone camera wrote into the file, and the result can be edited and re-saved repeatedly without degrading further. Expect the file to grow several times over.
Key facts about JPG to PNG converter
| What is gained | A lossless container. From here on, edits and re-saves cost nothing in quality, which is not true of the JPG you started with. |
|---|---|
| What is not gained | Detail. JPEG artifacts already in the source are encoded faithfully into the PNG, and no conversion can reconstruct the discarded information. |
| Typical size delta | Growth of three to eight times. A 1.5 MB 12-megapixel photo commonly becomes an 8-14 MB PNG, because deflate cannot compress photographic noise. |
| Metadata | EXIF, GPS coordinates, camera model, lens data and the embedded colour profile all stop at the canvas - none of it is written into the PNG. |
| Orientation | Current browsers apply the EXIF rotation flag while decoding, so a sideways phone photo is drawn upright and then loses the tag that made it so. |
| Transparency | The PNG is fully opaque. A JPEG has no alpha channel to carry over, so nothing becomes transparent by converting. |
| Bit depth | Eight bits per channel in sRGB. The PNG's support for 16-bit samples is not reachable from a JPEG source. |
| HEIC input | This page also accepts .heic and .heif from an iPhone - those are decoded to JPEG by a WebAssembly library in the tab first, then converted. |
| Opens natively in | Everything. PNG is the safest possible target: browsers, phone galleries, office suites, editors and every upload form accept it. |
What happens to your file
The JPEG is decoded by your browser's own JPEG decoder into an image element, drawn onto a canvas, and re-encoded by calling canvas.toBlob with image/png - which is also why the metadata disappears, since only pixels cross that boundary. For an iPhone HEIC the extra decode step runs in WebAssembly loaded into this page. No stage of that chain builds a request, so a holiday photo with location data in it is never transmitted anywhere; the tags are simply not copied forward.
About this tool
- 1
Drop in JPG or HEIC files
Up to twenty at a time. Both .jpg and .jpeg are accepted, and iPhone HEIC files are converted to JPEG in the tab before the PNG step.
- 2
Skip the quality controls
There is no slider on this page - PNG has no quality setting. The only lever is the optional downscale.
- 3
Resize if the PNG is for the web
A full-resolution photo as PNG is a heavy asset; one of the presets keeps it sensible if it is heading into a page or a document.
- 4
Convert and download
Single results download as .png, and a batch arrives as converted-png-files.zip.
| Input and output | Takes .jpg and .jpeg only (image/jpeg) and returns .png with the image/png type; any other extension is refused before decoding. |
|---|---|
| Conversion path | JPG to PNG runs in three steps: an <img> element decodes the JPEG, baseline or progressive, in the browser; the pixels land on a 2D canvas in this tab; then canvas.toBlob with the image/png type returns the finished file. |
| Browser support | The JPEG side decodes in every browser ever shipped, while writing the PNG is just as universal, canvas.toBlob having produced it since canvas existed. |
| Controls for this pair | No quality slider, PNG not being a lossy target here, so the max-dimension presets from 3840 down to 200 px are the only way to hold the PNG down in size against the JPG. |
| Batch, caps and naming | Twenty JPG files per run at 500 MB each; one result downloads as a single PNG, several as converted-png-files.zip, zipped by JSZip 3.10 in page memory. |
| Device ceiling | The canvas caps it: past roughly 16,384 px a side Chromium refuses the bitmap and iPhone Safari gives up sooner, so an oversized JPG fails before any PNG bytes exist. |
- Converting before editing is the right order: retouch the PNG and every save keeps the current quality, while editing the JPG loses a little each time.
- This is a practical way to strip location data from a photo you are about to post, since nothing outside the pixel grid survives.
- If the goal is a smaller file rather than a lossless one, this conversion moves in the wrong direction - compress the JPG or move it to WebP instead.
- Zoom to 200 percent before and after: the blocky squares you can see in the PNG were already in the JPG, they are just no longer being re-approximated.
- Preparing a photo for repeated editing without stacking up generation loss on every save.
- Satisfying a submission system, printer or design tool that accepts PNG but rejects JPG.
- Removing GPS and camera metadata from an image before sharing it publicly.
Related tools
View allNeed the opposite? Try PNG to JPG
Works well with this4
Other JPG tools12
Updated