How to convert WebP to AVIF without uploading it
Every "free" online WebP converter you've used uploads your images to a company server, converts them there, and — in several documented cases — keeps a copy or a live download link for days. For personal screenshots, client logos, and anything you wouldn't post publicly, that's an unnecessary risk. The safer approach is to convert the file where it already is: on your own device.
This tool does exactly that. When you drop a WebP here, your browser:
- Decodes the WebP natively — every browser includes a WebP decoder, so there is no decoder file to download and no waiting for a library to load.
- Resizes it to the width you picked (800 px by default), keeping the aspect ratio and the alpha channel — transparency is never flattened onto a background. Animated WebP files convert their first frame only, and the file card says so.
- Encodes it as AVIF with libavif, the reference AVIF encoder, running as WebAssembly in your browser — lossy at the quality you pick, with the alpha channel carried over so logos and icons keep their see-through areas. Your original file is never modified. Encoding takes roughly 5–10 seconds for a large photo, and each file card shows how long its encode took.
Why is there no lossless mode?
Because the lossless mode in this encoder is broken — and shipping a broken toggle would be worse than having none. When the vendored libavif encoder is asked for lossless encoding, it produces a greyscale file: a colour image comes back without its colour (a solid red test image decodes back as grey). That was verified with two independent decoders, so it is the encoder, not the preview. Rather than offer a control that silently destroys your images, this tool is lossy only: pick a quality (80 by default) for the image's destination — a website, a blog post, Discord or a forum — and at quality 80 the result looks identical to the original for almost every image, typically 20–30% smaller than the WebP. If you need every pixel exactly, convert from the original PNG instead, which is lossless by design — a JPG original is lossy too, so it cannot give pixel-exact output either. Either way, keep the WebP as your master copy and publish the AVIF.
Why is AVIF smaller than WebP?
WebP is already one of the best-compressed formats on the web, which is why the gain from AVIF is thinner than from JPG or PNG: typically 20–30% smaller at quality 80 with no visible difference. AVIF's AV1 codec predicts neighbouring pixels better than WebP's VP8 codec and encodes the difference more efficiently, so the same image still comes out smaller — and that is why switching a site's WebPs to AVIF is one of the cheapest PageSpeed wins there is. One caveat: the quality numbers are not comparable across formats — AVIF 80 is roughly WebP 90 in visual terms — so compare by eye, not by slider number, and trust the before-and-after size on each file card over any rule of thumb. The saving is real but not magic: a WebP that was already saved at low quality has little left to squeeze — this is lossy-to-lossy, so artefacts baked into the WebP stay in the AVIF — and at quality 100 the AVIF can come out larger than the WebP it came from.
Why won't my WebP load fast enough on my site?
WebP is the web's default for photos now, but a WebP straight from a screenshot tool or an export can still weigh several megabytes, and every kilobyte is time your visitor waits — especially on a phone. AVIF keeps the picture looking the same — transparency included — while cutting the weight, which is what Core Web Vitals and PageSpeed measure. If the destination has a size limit, pick a destination preset and the converter will aim for it: website heroes aim for under 300 KB, blog images under 150 KB, Discord or forum uploads under 256 KB.
Why is there no canvas fallback?
With WebP, a converter can fall back to the browser's built-in canvas encoder when its own encoder fails. AVIF has no such safety net: canvas toBlob with image/avif is not reliably available — Safari cannot encode AVIF at all — so a canvas "fallback" would either fail silently or hand you a WebP file with an .avif name, which is worse than no file at all. This tool uses the vendored libavif encoder and nothing else. If that encoder cannot load, conversion is disabled and the page says so plainly, with a link to the WebP to PNG converter instead.
Honest limitations
Lossy only
The output always discards some detail. Quality 80 is visually identical to the original for most images, but quality 100 is near-lossless, not pixel-perfect. Keep the WebP as your master copy.
No lossless mode — on purpose
This encoder's lossless option produces greyscale files, so the toggle was left out rather than ship a control that silently strips the colour from your images. For pixel-exact output, convert from the original JPG or PNG.
Lossy-to-lossy
Artefacts already baked into the WebP stay in the AVIF. A WebP saved at low quality has little left to squeeze, and converting it cannot recover detail the first compression discarded. Convert from the original when you still have it.
Quality 100 can be larger than the WebP
At quality 100 the AVIF can come out bigger than the WebP it came from, especially for flat-colour graphics. If the file comes out bigger, the card says so — use a lower quality for publishing instead.
AVIF encoding is slow
Roughly 5–10 seconds for a large photo, because the AV1 encoder searches far more ways to pack the image into fewer bytes. The batch converts one file at a time and each card shows its encode time, so the wait is visible.
Animated WebP is first frame only
Browsers decode only the first frame of an animated WebP for web pages. This tool converts that frame and says so on the file card — the animation is not preserved, because the encoder produces still images only.
Transparency is preserved
AVIF stores a real alpha channel, so see-through areas stay see-through — the preview shows it as a checkerboard. Lossy compression can soften very fine semi-transparent detail at low quality, so check the preview.
Not every app accepts AVIF yet
Every modern browser displays AVIF, and Discord, Slack and most forums accept it — but a few older upload forms and apps still only take JPG or PNG. Check the destination first, or convert to PNG instead.
Metadata is stripped, 8-bit only
EXIF and XMP data, including location, are dropped on re-encode, and colour profiles are not carried over. WebP is an 8-bit-per-channel format, so there is no 10- or 12-bit colour to carry over. A WebP file can carry an EXIF chunk, but this tool does not read an orientation tag.
Very large images depend on your device
The encoder runs entirely on your device, so a 50-megapixel WebP needs hundreds of megabytes of memory while it converts. A desktop handles that; a low-memory phone may not. Files over 25 MB are refused outright.