Runs on your device · Your file never leaves your device.
PNG files — especially screenshots and exported graphics — are often many times larger than they need to be. For photographic content, converting to JPG makes the file much smaller; compare the preview if fine detail matters.
Adjust quality to trade size against fidelity, and set a hard size cap if you need the result under a specific limit.
Note that JPG has no transparency: any transparent area in the PNG becomes solid white. If you need transparency, keep the file as PNG or convert to WebP instead.
Not for: Logos and screenshots with sharp edges — JPG blurs them slightly; keep those as PNG or convert to WebP.
Before encoding, the PNG is drawn onto a solid white sheet. Fully transparent areas become plain white, and half-transparent pixels, such as the soft edge of a cut-out logo or a drop shadow, are blended with that white. A logo designed for a dark background therefore gets a light rim along its edges in the JPG.
The background colour is fixed to white on this page. If the picture must stay see-through, /png-to-webp keeps the transparency in a compressed format.
For a photograph that happens to be saved as PNG, such as a scan or an export from an editor, start with the default quality of 85 and check the before-and-after panel, which shows how much the size changed.
For a screenshot with small coloured text or thin coloured lines, set the slider to 90 or more. Below 90 the encoder stores colour at half resolution, which softens red and blue lettering first; from 90 it keeps colour in full. The quality score under the result is measured on brightness only, so it will not reveal a colour fringe: look at the after preview closely instead.
A PNG can hold 16 bits per colour channel, an animation (APNG), and text notes such as the program that made it or a print resolution. The browser draws the picture at 8 bits per channel, which is also what a standard JPG stores. An animated PNG gives only its first frame, and the notes are not copied, because the JPG is written from the pixels alone.
If a form asks for a size in KB, switch on Force a maximum file size: quality is lowered first and the pixel size only if needed, as described on /compress-image.
This page in other languages: العربية · Deutsch · Français · Español · Русский · Português · 中文 · हिन्दी · Türkçe · עברית · فارسی · اردو · Bahasa Indonesia · বাংলা