AVIF to PNG Converter - Free Online Tool

Convert AVIF to PNG instantly in your browser — no upload, no sign-up, free. Preserves transparency. Download your PNG in seconds.

Convert AVIF to PNG instantly, right in your browser

Drop your AVIF image into the tool above and download a full-quality PNG file in seconds. No account, no upload, no waiting — the conversion happens entirely on your device.

AVIF is a next-generation format that compresses photos brilliantly, but many apps, editors, and older browsers still can't open it. Converting to PNG gives you a universally supported file with lossless quality and full transparency support — perfect for sharing, editing, or embedding anywhere.

How to convert AVIF to PNG

  1. Click "Choose File" (or drag and drop) and select your .avif image.
  2. The tool converts it instantly — no button to press; the PNG preview appears automatically.
  3. Click "Download" to save the .png file to your device.

That's it. Your original AVIF file is never sent anywhere — the whole process runs on a browser canvas, so your image stays completely private.

Worked example

Say you have a product photo exported from a modern camera or web scraper as shoe-product.avif (87 KB). After converting, you get shoe-product.png — typically 300–600 KB depending on detail — ready to open in Photoshop, GIMP, Figma, or any image editor without a plugin.

InputOutputTransparency kept?Quality
shoe-product.avif (87 KB)shoe-product.png (~420 KB)YesLossless

PNG is larger than AVIF because it stores every pixel without compression losses. That trade-off is intentional — PNG is the right choice when you need pixel-perfect accuracy or alpha (transparent) areas.

How to do this in Python and JavaScript

If you have a batch of AVIF files to convert, a quick script is faster than doing them one at a time. Here are two copy-pasteable examples.

Python (Pillow)

Install Pillow first: pip install Pillow pillow-avif-plugin

import pillow_avif  # registers the AVIF decoder
from PIL import Image

img = Image.open('shoe-product.avif')
img.save('shoe-product.png', format='PNG')
print('Done — saved as shoe-product.png')

Note: Standard Pillow (before version 9.1.0) needs the pillow-avif-plugin package to read AVIF files. Pillow 9.1+ on Linux with libavif installed can read AVIF natively.

Node.js (sharp)

Install sharp: npm install sharp

const sharp = require('sharp');

sharp('shoe-product.avif')
  .png()
  .toFile('shoe-product.png')
  .then(() => console.log('Saved shoe-product.png'))
  .catch(err => console.error(err));

sharp is a fast Node.js image library backed by libvips. It handles AVIF natively on supported platforms. See the sharp official documentation for more options like resizing during conversion.

How it works

When you drop an AVIF file into the tool, your browser decodes the image using its built-in AVIF support (available in Chrome 85+, Firefox 93+, and Safari 16+). The decoded pixels are drawn onto an HTML5 <canvas> element. The canvas then exports those pixels as a PNG blob using canvas.toBlob('image/png'), and that blob is handed to you as a download.

The entire pipeline runs locally. No pixel of your image is ever sent to a server. This also means there is no file size limit imposed by a server — the only limit is your browser's available memory.

When to convert AVIF to PNG (and when not to)

Good reasons to convert

  • Your software can't open AVIF — older versions of Photoshop, GIMP before 2.10.34, and Windows Photo Viewer don't support it yet.
  • You need lossless editing — PNG keeps every pixel intact, while AVIF is a lossy or near-lossless format.
  • Transparency is critical — PNG supports full alpha transparency; so does AVIF, and the converter preserves it.
  • You're preparing assets for a design tool like Figma or Sketch that imports PNG cleanly.

When PNG is the wrong choice

  • Web delivery of photos: PNG is much larger than AVIF or even WebP. If you're serving images on a website, keep them in AVIF or WebP and only convert locally for editing.
  • Storage is tight: A high-res photo in PNG can be 5–10× the size of its AVIF equivalent. Consider JPG if you don't need transparency.

For format specs, the Alliance for Open Media publishes the AVIF specification, and the Portable Network Graphics format is defined by W3C's PNG specification.

Bottom line: use this converter any time you need a universal, editable, or transparency-safe version of an AVIF image. Drop your file in the tool above and your PNG is ready before you finish reading this sentence.

Frequently asked questions

Is my image uploaded to a server when I convert AVIF to PNG?+
No. The conversion runs entirely in your browser using an HTML5 canvas. Your image never leaves your device, so there are no privacy concerns — even for confidential or watermarked files.
Why is the PNG file so much bigger than the original AVIF?+
AVIF uses very aggressive compression, which is why it's so small. PNG is lossless and stores every pixel uncompressed (or with light lossless compression), so the file size naturally grows — often 3–8× larger. That size increase is the trade-off for pixel-perfect quality and broad compatibility.
Does the conversion preserve transparency from the AVIF file?+
Yes. AVIF supports an alpha channel (transparency), and the browser decodes it correctly. PNG also supports full alpha, so any transparent areas in your source image are kept intact in the output.
What browsers support AVIF well enough to run this converter?+
Chrome 85+, Edge 121+, Firefox 93+, and Safari 16+ can all decode AVIF natively. If you're on an older browser and the tool shows an error, update your browser and try again.
Is there a file size limit?+
There is no server-side limit because nothing is uploaded. The only constraint is your browser's memory. Very large AVIF files (above ~100 MB decoded) may be slow or cause the browser tab to run low on memory, but typical images — even high-resolution ones — convert without any issue.
How do I convert AVIF to PNG in Python?+
Use the Pillow library with the pillow-avif-plugin package. Install both with pip install Pillow pillow-avif-plugin, then call Image.open('file.avif').save('file.png'). Pillow 9.1+ on Linux with libavif can read AVIF without the extra plugin.
How do I convert AVIF to PNG in Node.js?+
The sharp library handles this cleanly. Run npm install sharp, then use sharp('input.avif').png().toFile('output.png'). Sharp uses libvips under the hood, so it's fast even on large images.
Is this tool free, and do I need to sign up?+
Completely free, and no sign-up required. Open the page, drop your AVIF file, and download the PNG. That's the whole flow.