Free tool
PNG to WebP converter
Drop PNG images to save them as WebP, which is usually much smaller and keeps transparency. Pick the quality, see the bytes saved on every file, and download them all as a .zip.
Free · no sign-up · runs in your browser, nothing is uploaded
At quality 100, Chrome and other Chromium browsers write lossless WebP. Each file shows which mode it got.
How much smaller WebP is than PNG
Google's own measurements, from the WebP documentation:
| WebP mode | Compared with | Result |
|---|---|---|
| Lossless | PNG | 26% smaller |
| Lossy with transparency | PNG | typically about 3× smaller |
| Lossy | JPEG at the same SSIM | 25-34% smaller |
Your own images will vary. Screenshots with large flat areas shrink less than photos, and tiny icons can even grow. That is why the tool shows the change on each file rather than promising a number.
Picking a quality setting
The slider goes from 1 to 100 and maps to the 0 to 1 quality value of canvas.toBlob("image/webp", quality). Lower means smaller and blurrier. A practical way to choose:
- Photos, illustrations with gradients: 70 to 80.
- Screenshots, UI, text: 85 to 95, and zoom in on the text in the preview.
- Logos and icons: try 90+, or 100 for lossless WebP in Chromium browsers (the file list says which mode you got). If edges still look soft, use
cwebp -losslessor keep the PNG.
Setting a max width often saves more than lowering the quality: a 4000 px screenshot shown at 1200 px wastes most of its bytes.
Serve WebP with a PNG fallback
The browser picks the first <source> it supports and falls back to the <img>:
<picture> <source srcset="hero.avif" type="image/avif"> <source srcset="hero.webp" type="image/webp"> <img src="hero.png" alt="Product screenshot" width="1200" height="630"> </picture>
Keep the width and height on the <img> so the layout does not shift while it loads. In CSS, image-set() does the same job for backgrounds.
Convert PNG to WebP in bulk with cwebp, sharp or Pillow
# libwebp: lossy at quality 80, or lossless
cwebp -q 80 logo.png -o logo.webp
cwebp -lossless logo.png -o logo.webp
# every PNG in the folder (bash)
for f in *.png; do cwebp -q 80 "$f" -o "${f%.png}.webp"; done// Node.js with sharp
import sharp from 'sharp';
await sharp('logo.png').webp({ quality: 80 }).toFile('logo.webp');
await sharp('logo.png').webp({ lossless: true }).toFile('logo-lossless.webp');
# Python with Pillow
from PIL import Image
Image.open("logo.png").save("logo.webp", quality=80) # lossy
Image.open("logo.png").save("logo.webp", lossless=True) # losslessNeed the reverse for an app that cannot open WebP? Use WebP to PNG. For AVIF or JPG output, use the image converter. More on DevHunt: design tools.
More free developer tools
FAQ
How do I convert PNG to WebP?+
Drop your PNG files on the box above or click to pick them. Each one is saved as WebP in your browser at the quality you set, with the size before and after. Download one at a time or all as a .zip.
Does WebP keep PNG transparency?+
Yes. WebP supports an alpha channel in both lossy and lossless mode, and the tool keeps it. Google notes that lossy WebP with transparency is typically about 3× smaller than the PNG.
What quality should I use for WebP?+
Start around 75 to 80 (Google's cwebp tool defaults to 75) and check the preview. Photos and gradients often look the same at 70 to 80. Flat graphics with sharp edges and text may need 90 or more; if they still look soft, keep them as PNG.
Is PNG to WebP lossless?+
It can be. In Chrome, Edge and other Chromium browsers, quality 100 writes a lossless WebP (a VP8L stream); anything below 100 is lossy. Each file in the list shows "lossless" or "lossy", read from the file the browser wrote. Other browsers may stay lossy at 100, so for a WebP that is guaranteed lossless everywhere, use cwebp -lossless or sharp with { lossless: true }. Google measured lossless WebP at 26% smaller than PNG.
Why is my WebP bigger than the PNG?+
It happens with small, flat images such as icons with few colours, which PNG already compresses very well, and at a high quality setting. Lower the quality or keep the PNG for those files. The tool marks every file that got bigger.
Do all browsers support WebP?+
All current major browsers display WebP: Chrome, Edge, Firefox, Opera and Safari. For very old browsers, serve WebP inside a <picture> element with a PNG fallback.
Should I use WebP or AVIF?+
AVIF is often smaller still for photos, but it encodes slower and fewer tools write it. WebP is the safer default. With <picture> you can offer both: AVIF first, then WebP, then PNG.
Sources: Google: WebP · Google: WebP lossless and alpha study · Google: cwebp · MDN: <picture> · MDN: HTMLCanvasElement.toBlob() · sharp output options · Pillow: WebP. Checked 2026-10-31.