JPG to PNG Converter
Convert a JPG or JPEG photo to PNG in one click. The target format is already set to PNG, just drop in a photo. Lossless output, everything happens on your device.
Click to choose an image, or drag and drop it here
JPG, PNG, WebP. Stays on your device, nothing is uploaded. Select multiple to batch convert.
Your converted image will appear here once generated.
PNG is lossless (larger files, supports transparency). JPEG and WebP are lossy with a quality slider (smaller files, no transparency for JPEG). WebP usually beats JPEG at the same visual quality, but JPEG has the widest compatibility.
How it works
The browser decodes your JPG into raw pixels, those pixels are drawn onto a canvas at the
image's full natural width and height, and canvas.toBlob("image/png") writes
the result as a PNG. There's no quality slider for this direction because PNG's DEFLATE
compression is lossless: every pixel the decoder produced is stored exactly. The file
itself never leaves your machine; it's referenced through a local object URL, not an
upload.
Two things to keep expectations straight. First, converting to PNG can't undo JPEG compression: blockiness and ringing that already exist in the JPG are preserved pixel-perfectly, so PNG is the right target when you're going to edit or re-save the image repeatedly from here on, not a way to improve it. Second, photographic images are full of sensor noise that DEFLATE can't compress well, which is why the PNG is routinely several times larger than the JPG it came from. That's normal, not a bug.
The canvas round-trip also rewrites the file from scratch, so EXIF data (camera info, GPS position) is dropped from the output. Orientation still looks right, because modern browsers bake the EXIF rotation into the pixels during decoding. And since the whole pipeline is browser APIs, you can open DevTools' Network tab while converting and watch exactly zero requests go out with your photo.
Common questions
Why convert JPG to PNG?
PNG is lossless, so it won't introduce any new compression artifacts, and it supports transparency, which JPG can't. Common reasons: preparing a JPG for further editing, or a tool/upload form that only accepts PNG.
Will converting to PNG make the file bigger?
Usually, yes. PNG is lossless so it typically produces a larger file than the JPG it came from, especially for photos. If file size matters more than format, keep it as JPG or use WebP instead.
Does this upload my photo anywhere?
No. The conversion happens entirely in your browser using the canvas API. Nothing about your photo is sent anywhere.