How to convert PNG to AVIF without uploading it
Every "free" online PNG 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 PNG here, your browser:
- Decodes the PNG natively — every browser includes a PNG 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.
- 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 40–60% smaller than the PNG. If you need every pixel exactly, keep the PNG, which is lossless by design. Either way, keep the PNG as your master copy and publish the AVIF.
Why is AVIF smaller than PNG?
PNG compresses losslessly, which is wonderful for pixel-perfect masters and terrible for file size: a screenshot with photographic content can weigh megabytes. AVIF's AV1 codec predicts neighbouring pixels far better and throws away detail the eye can't see, so the same image typically comes out 40–60% smaller at quality 80 with no visible difference. That is why switching a site's PNGs to AVIF is one of the cheapest PageSpeed wins there is. The saving is real but not magic: a tiny flat-colour icon is already small as a PNG, and at quality 100 the AVIF can come out larger than the PNG it came from.
Why won't my PNG load fast enough on my site?
PNG is the web's default for screenshots, logos and icons, but a PNG straight from a screenshot tool can 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 PNG to WebP 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 PNG 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, keep the PNG.
Quality 100 can be larger than the PNG
At quality 100 the AVIF can come out bigger than the PNG 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.
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 WebP instead.
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.
Animated PNG is first frame only
Browsers decode only the first frame of an APNG for web pages. This tool converts that frame and says so on the file card — the animation is not preserved.
Metadata is stripped, 16-bit is tone-mapped
Location and other details stored in PNG text chunks are dropped on re-encode, and colour profiles are not carried over. 16-bit PNGs are tone-mapped down to 8-bit; PNG has no EXIF orientation, so no rotation handling is needed.
Very large images depend on your device
The encoder runs entirely on your device, so a 50-megapixel PNG 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.