Is my image uploaded to your servers?
No. Conversion runs entirely in your browser using HTML5 Canvas and the native toBlob API. The PNG is read with FileReader, drawn to an off-screen canvas, and re-encoded as JPEG — all on your CPU, in your tab. Open DevTools → Network and click Convert: zero requests are made. Photos with private faces, screenshots of internal dashboards, and confidential mockups never leave your device.
Why does my transparent PNG turn black or white when converted to JPG?
JPG does not support transparency — every pixel must have a colour. When you convert a PNG with transparent pixels, those pixels need a background colour to blend into. Some converters default to black (the unwritten canvas value), others to white. This tool gives you a colour picker so you choose: white for screenshots over light themes, black for dark mode UIs, brand colours for product mockups, or any custom hex.
What quality setting should I pick?
For photos: 0.85–0.92 is the sweet spot — visually lossless to most viewers at 30–50% the file size of 1.0. For screenshots and UI shots: stay at 0.95+ because JPEG artefacts on text are very visible. For thumbnails or social media previews: 0.7–0.8 is fine. The slider in this tool ranges 0.5 (heavy compression, visible blocking) to 1.0 (max quality, larger file). Default is 0.92, the value Photoshop uses for "High" quality export.
When should I convert PNG to JPG?
Convert PNG to JPG when: (1) the source is a photograph — JPG compresses photos 5–10× smaller than PNG with imperceptible quality loss; (2) you do not need transparency — JPG has no alpha channel; (3) you need to upload to a system that requires JPEG (some printing services, older CMS); (4) you are optimising for file size in HTML email or page weight. Keep PNG for: logos, icons, screenshots with text, anything with sharp edges or transparency.
Does converting PNG to JPG lose quality?
Yes — JPEG is a lossy format. The encoder discards high-frequency detail using DCT (Discrete Cosine Transform), perceptual masking, and chrominance subsampling to achieve compression. The loss is invisible at quality ≥ 0.9 for most photos but becomes obvious on text, line art, or gradients (banding). Re-saving a JPEG repeatedly compounds the loss — generation loss. For lossless conversion in the other direction, use the JPG to PNG tool linked below.
Can I batch-convert multiple PNGs?
This tool converts one PNG at a time so you can preview the result and tune quality / background per image. For batch automation use a script: in Node.js, sharp(input).jpeg({quality: 92}).toFile(output); on the command line, ImageMagick magick *.png -quality 92 -background white -flatten %d.jpg or for a single file cwebp / mogrify. Browser-side batch conversion is on the roadmap.
How big a PNG can this tool handle?
The constraint is browser memory and the maximum canvas dimensions. Most browsers support canvases up to 16,384 × 16,384 px (Chrome) or 11,180 × 11,180 px (Safari). A 4K (3840×2160) PNG at full RGBA is ~33 MB in memory and converts in well under a second on any modern device. For 50 MP+ photos, expect a 1–3 second pause and significant RAM usage. There is no server-imposed file size limit because no upload happens.