fileformer
search⌘KtranslateENexpand_moreupload_fileConvert
Converters8 file families · 44 direct conversions
What changes in a conversionarrow_forward
home/guides/png-to-webp
.pngarrow_forward.webp

Convert PNG to WebP Online Free

PNG to WebP, measured on your own image, not on someone else's average.

This guide encodes your PNG at seven settings in your browser, decodes every result again and compares it with the original pixel by pixel. Then it opens the WebP file it made, lists what your PNG carried that the WebP dropped, and writes the HTML and command line for the setting you pick.

scienceMeasure a PNG
PNG starts with89 50 4E 47 0D 0A 1A 0A
WebP starts withRIFF ···· WEBP
WebP largest side16,383 px
WebP bit depth8 bits per channel
MIME typeimage/webp · RFC 9649

Seven encodes, each decoded and checked

Pick a test image or open your own. The page draws it to a canvas, saves it as PNG and as WebP at quality 1.00 down to 0.30 using your browser's own encoder, then decodes each file and compares it with the source. Colour error is measured with every pixel placed on white, so a change hidden under full transparency doesn't count. Alpha error is the largest change in any pixel's opacity.

tokenLogo with shadowlandscapePhotographscreenshot_monitorScreenshot with textbackground_replaceTransparent cutoutdrawing…
…Click the picture to choose the area shown in section 04.
filesize vs original PNGcolouralphaexact
Colour = PSNR in dB on white (40 dB and up is very hard to see; "same" means no change). Alpha = largest opacity change, 0-255. Exact = largest change in any channel, weighted by opacity (so a near-invisible shadow pixel can't count as a big change); "LL" marks a file stored lossless (VP8L chunk, read from its bytes); 1-3 levels on those come from the canvas alpha round trip, not the encoder. Click a row to inspect that file below.
insightsEncoding…

Two things this shows that averages hide. First, a browser's "quality 1.00" isn't the same everywhere: Chromium switches to the lossless coder at 1.00, so the exact column reads 0, while other engines may still use the lossy coder. Second, the smallest file isn't always lossy: on flat logos and screenshots, lossless WebP often beats lossy WebP at high quality, because the lossy coder has to spend bits on the ringing it creates around sharp edges.

Inside the file you just made

A WebP is a RIFF file: a 12-byte header, then chunks. Which chunks appear tells you how the picture was stored. A VP8L chunk on its own means lossless, alpha included. A VP8 chunk means lossy. If the image has transparency, a lossy file also needs a VP8X header and a separate ALPH chunk, because the VP8 video format has no alpha channel. These are the actual bytes of ….

first 64 bytes · … in total
at byte · bytes

For every chunk type, every flag bit and a full inspector for any WebP, including animated ones, see the WebP format reference.

What your PNG carried, and what the WebP kept

The pixels are only part of a PNG. It can also hold a colour profile, a print resolution, text notes, EXIF data and animation frames. The original file is read chunk by chunk below. Each row then says what happens to that data when the image goes through a browser canvas, which is how this page and most online converters work, and what a command-line encoder can keep instead.

in the PNGfoundin the WebPwhy, and how to keep it

Up close: original against …

Lossy WebP works in 4×4 and 16×16 blocks and stores colour at half resolution (4:2:0). So the damage, if there is any, shows up at hard edges, in small text and in saturated colour against neutral backgrounds. The view is enlarged 5× with no smoothing. The original is on the left of the divider and the decoded WebP on the right. Drag the divider, or switch on the error view to see every changed pixel brightened 8×.

original…differenceError ×8

Ship it: the file, the markup, the command

Every current browser shows WebP, Safari included since version 14 (2020). A PNG fallback inside <picture> now mostly helps email clients, older apps and anything that downloads the image instead of displaying it. Sizes in the comments are the measured ones. Keep the PNG as your master: re-encoding a lossy WebP adds new loss every time.

html
<picture> <source srcset="logo.webp" type="image/webp"> <!-- --> <img src="logo.png" width="0" height="0" alt="" decoding="async"> <!-- --></picture>
cwebp (libwebp): lossy, like q 0.80cwebp -q 80 -alpha_q 100 -m 6 -sharp_yuv -metadata icc logo.png -o logo.webp
ImageMagick 7magick logo.png -quality 80 -define webp:alpha-quality=100 -define webp:method=6 logo.webp
sharp (Node.js)await sharp('logo.png').webp({ quality: 80, alphaQuality: 100, effort: 6, smartSubsample: true }).toFile('logo.webp')

Reference

propertyPNGWebP
Largest image2³¹ − 1 px per side16,383 × 16,383 px (14-bit fields)
Bit depth1, 2, 4, 8 or 16 bits per channel8 bits per channel
Colour modelsGreyscale, RGB, palette (with or without alpha)Lossy: YUV 4:2:0 · Lossless: ARGB
Transparency8/16-bit alpha channel or tRNS8-bit: inside VP8L, or an ALPH chunk next to VP8
CompressionPer-row filter (5 types) + DEFLATEVP8L: 14 predictors, colour transforms, LZ77 + Huffman, colour cache · VP8: block prediction, DCT, quantisation, arithmetic coding
AnimationAPNG: acTL / fcTL / fdAT (official in the 3rd edition)ANIM + ANMF chunks under VP8X
Colour infoiCCP, sRGB, gAMA, cHRM, cICP (HDR), mDCV, cLLIICCP only
MetadatatEXt, zTXt, iTXt, eXIf, tIME, pHYsEXIF, XMP chunks · no DPI, no text
Signature89 50 4E 47 0D 0A 1A 0A52 49 46 46 ·· ·· ·· ·· 57 45 42 50
StandardW3C PNG 3rd ed. (2025) · ISO/IEC 15948 · RFC 2083RFC 9649 (2024)
cwebp options that matter for PNG sources
-q 0-100Lossy quality (default 75). In lossless mode it sets effort instead. Browser q 0.80 is roughly the same as -q 80.
-losslessUse the VP8L coder: exact pixels, alpha in-band.
-z 0-9Lossless preset from fast to smallest. Sets -lossless, and -q / -m to match.
-near_lossless 0-100Lossless coder after slight pixel pre-quantisation. 100 is off; 60 is often invisible and much smaller.
-alpha_q 0-100Quality of the ALPH plane in lossy mode. 100 (default) keeps alpha lossless.
-exactKeep RGB under fully transparent pixels. Without it, the encoder changes them to save bytes.
-sharp_yuvSlower, more accurate RGB→YUV conversion. Reduces colour bleeding on sharp coloured edges.
-m 0-6Encoder effort (default 4). 6 is slowest and smallest.
-metadata all|none|exif|icc|xmpWhat to copy from the input. The default is none, so profiles and EXIF are dropped unless you ask.
timeline
1996PNG 1.0 becomes a W3C Recommendation (Oct). Published as RFC 2083 in March 1997.
2003PNG standardised as ISO/IEC 15948.
2010Google announces WebP (Sep): lossy only, built on the VP8 key frame.
2011Lossless WebP (VP8L) and alpha for lossy WebP are announced (Nov).
2013Animation and the VP8X extended format land in libwebp 0.3.
2020Safari 14 adds WebP, making support universal among current browsers (Sep).
2024RFC 9649 standardises WebP and registers image/webp (Nov).
2025PNG 3rd edition (W3C, June): APNG, cICP for HDR, and eXIf become official.
go further

Frequently Asked Questions

Is converting PNG to WebP free?

Yes, PNG to WebP conversion is completely free with no signup, no watermark, and no usage limit. Convert as many files as you need.

Are my files uploaded to a server?

No. The PNG to WebP converter runs in your browser when your file is supported there, so the file stays on your device for that workflow, reducing server exposure for that workflow. Confirm the processing mode before using sensitive content.

How long does PNG to WebP conversion take?

Most PNG to WebP conversions finish in under a minute. Expect a longer wait for a bigger file. It runs on your own device either way, with no account step in front of it.

Will the conversion reduce file quality?

It depends on the pair. Lossless gives you the same thing back, byte for byte. Lossy makes the file smaller and costs you something, though whether you can actually see or hear it is another question.

Does this work on mobile devices?

Yes. The PNG to WebP converter works on phones, tablets, and desktops in any modern browser including Chrome, Safari, Firefox, and Edge.