Convert between PNG, JPEG and WEBP, resize, and see exactly how many bytes you saved. Drop in as many files as you like.
Nothing is uploaded. Every conversion happens in your browser.
| Format | Good for | Not good for |
|---|---|---|
| JPEG | Photographs, anything with smooth gradients | Text, line art, transparency, repeated re-saving |
| PNG | Screenshots, diagrams, logos, anything needing transparency | Photographs, where it produces large files |
| WEBP | Both cases on the web, usually 25 to 35 per cent smaller than JPEG | Older software that cannot open it |
A JPEG saved at quality 85 is not 85 per cent as good as the original. The number selects a quantisation table, and the useful range is narrower than people expect. Below about 70 you start seeing blocks around edges; above about 92 the file grows quickly for differences nobody can see. For photographs on the web, 80 to 88 is the sensible band.
JPEG throws information away on each save. Open a JPEG, change nothing, save it, and you have a slightly worse image. If you are going to edit in several passes, keep a PNG or TIFF master and export JPEG once at the end.
JPEG has no alpha channel, so something has to fill the transparent areas. This tool puts white behind them, which is what most people want. In Pillow you choose:
from PIL import Image
im = Image.open("logo.png").convert("RGBA")
flat = Image.new("RGB", im.size, "white")
flat.paste(im, mask=im.split()[3])
flat.save("logo.jpg", quality=88)