Convert PNG ↔ JPG
Convert images between PNG and JPG format.
🔒 Runs entirely in your browser — your image is never uploaded.
Drag & drop a PNG or JPG here, or click to browse
How Convert PNG ↔ JPG works
How does converting between PNG and JPG work here?
The image is drawn onto a canvas and re-exported with canvas.toBlob() using the target MIME type. Because JPG has no alpha channel, converting to JPG first paints a solid rectangle in your chosen background color behind the image — anything transparent in the original PNG becomes that color — and a quality slider controls the JPG encoder's compression level.
When would I need this over a compressor or format tool?
It's aimed squarely at the PNG-JPG swap: turning a screenshot into a smaller JPG for a web page, or converting a JPG into PNG when you need lossless output or plan to edit it further without generation loss. The background-color picker is handy when you know a transparent PNG (a logo, say) needs a specific fill color once it becomes an opaque JPG.
What happens to transparency and quality on each side?
PNG output stays fully lossless with alpha intact — there's no quality slider for it because toBlob ignores the quality argument for PNG. JPG output is always opaque, always compressed, and the tool defaults the target format to whichever one you didn't upload, so a PNG file opens set to convert to JPG and vice versa.