AVIF to PNG Crop Converter

Load an AVIF image, drag the crop handles to define exactly the area you need, preview the result, then download a lossless PNG. Everything runs in your browser — your image never leaves your device.

🖼️

Drop an AVIF here

or Browse Files  ·  AVIF supported

What This Tool Does

This tool loads an AVIF image directly in your browser, presents an interactive crop overlay with draggable handles, and converts the selected area to a lossless PNG file. No server upload is required. The full workflow — loading, cropping, encoding — runs entirely in client-side JavaScript using the HTML5 Canvas API. AVIF files use AV1 compression that requires full pixel decoding before the canvas can draw them; this tool uses URL.createObjectURL() combined with img.decode() to guarantee the decode is complete before drawing, preventing the silent blank-canvas problem that affects standard Image element loading with AVIF. The output is a lossless PNG with full RGBA support, compatible with every browser, design tool, image editor, and platform.

Who This Is For

  • Designers extracting a specific region of an AVIF photo for use in tools that require PNG input
  • Web developers converting a cropped AVIF asset to PNG for platforms that do not yet accept AVIF uploads
  • Anyone who needs a transparent-background PNG from an AVIF source without losing the alpha channel
  • Developers who need a quick crop-and-convert workflow that stays entirely in the browser with no software installation

AVIF vs PNG: Format Comparison

PropertyAVIFPNG
CompressionLossy or lossless (AV1)Lossless (DEFLATE)
File sizeVery small — best compressionLarger — lossless storage
Transparency supportYes (alpha channel)Yes (full RGBA)
Browser supportChrome 85+, FF 93+, Safari 16+Universal — every browser
Platform upload supportInconsistent (2026)Universal
Design tool supportLimitedUniversal
Lossless round-tripYes (lossless mode)Yes — always lossless
Best forWeb delivery, maximum compressionDesign assets, transparency, broad compatibility

Frequently Asked Questions

Why does this tool use img.decode() instead of the standard Image onload?
AVIF uses AV1 video codec compression that requires asynchronous GPU-accelerated decoding. When you load an AVIF with new Image() and FileReader.readAsDataURL(), the browser fires the onload event before the AV1 pixel decoding completes. Calling ctx.drawImage() at that point silently draws a blank canvas — no error, no warning, just empty output. This tool uses URL.createObjectURL() to get a blob URL and then calls img.decode(), which is a Promise that resolves only when the full pixel decode is ready, guaranteeing correct canvas output every time.
How precise is the crop tool?
The crop operates at native pixel accuracy on the original AVIF dimensions. The canvas is scaled to fit your screen for display, but the actual crop coordinates are mapped back to the full-resolution image before the PNG is generated. You get a PNG at the exact pixel dimensions shown in the crop dimensions badge.
Does the output PNG preserve transparency?
Yes. The canvas uses a 32-bit RGBA context, and PNG supports full alpha channel transparency. If your source AVIF has transparent or semi-transparent areas, those will be faithfully preserved in the output PNG.
What browsers support AVIF?
AVIF is supported in Chrome 85+, Firefox 93+, Edge 121+, and Safari 16+. Older browsers do not support AVIF. If your source file does not load, verify your browser is up to date.
Is there a file size limit?
There is no server-imposed limit because no upload occurs. The practical limit is your browser's available RAM. Most modern desktops handle AVIF files comfortably. Very large files on memory-constrained mobile devices may be slower to process.
Why is my output PNG larger than the original AVIF?
AVIF uses highly efficient AV1 compression that is much more compact than PNG's lossless DEFLATE encoding. An AVIF that is 200 KB may produce a PNG of 1–5 MB or more depending on image content. This is expected — PNG stores every pixel losslessly, while AVIF discards information the algorithm deems invisible. If file size is critical, consider keeping the image in AVIF or converting to WebP instead.