Converter · No upload
JPG to PNG, privately
Choose JPGs and download lossless PNGs. The browser handles both formats without an extra decoder download. Files are not uploaded, and the loaded tool works offline.
Undecodable JPGs fail, with browser reasons where available; images beyond canvas capacity fail rather than saving smaller. One PNG per file, written back as 8-bit sRGB pixels: nothing JPG compression discarded comes back, the file usually grows, several-fold on photographs, EXIF, GPS and timestamps are removed, and an embedded colour profile is not carried. Takes .jpg and .jpeg.
The sample is a 240×120 JPG generated in this tab. PNG encoding avoids another lossy compression step, but it cannot restore detail lost in the JPG or remove the decode/canvas path's colour limits. Compare the actual input and output sizes.
How this converter works
The browser reads the selected JPG into memory and decodes it into pixels. A canvas then encodes those pixels as a lossless PNG, which the page offers as a Blob download. No extra library or network transfer is needed to convert the file.
Open your browser's developer tools with F12, select the Network tab and run a conversion. Check whether it creates any requests. JPG and PNG conversion uses the browser's built-in capabilities, so this tool has no decoder or encoder download to account for. The methodology page describes two other checks and the limits of the site's own meter.
Converting to PNG cannot recover detail lost during JPG compression. It prevents further lossy compression at this step, but file sizes usually grow, often several-fold for photographs. The output contains 8-bit sRGB pixels; embedded colour profiles and EXIF metadata, including GPS, camera model and timestamps, are not carried over. Note the capture date before converting if you need it. If the browser cannot decode the JPG, the tool reports a failure with the browser's reason where available. Images that exceed the browser's canvas limit also fail rather than being saved at a smaller size.