Convert PNG to AVIF — extreme compression for UI assets
PNG is the go-to format for UI screenshots, design previews, and documentation images — but it is also one of the heaviest formats on the web. AVIF compresses synthetic content (flat regions, gradients, icons) so efficiently that a typical 890 KB UI screenshot can drop to 52 KB at quality 75 without noticeable visual loss. All encoding runs inside your browser — nothing is uploaded.
Convert to AVIF →Why convert PNG to AVIF?
PNG was designed for lossless pixel-perfect reproduction, which makes it ideal for editing but expensive to ship. A full-screen 1920×1080 UI screenshot routinely weighs 800 KB–1 MB as PNG. AVIF's AV1-based codec is tuned for exactly the type of content PNG stores — large flat regions of solid colour, crisp text on white backgrounds, soft gradients in dashboards and hero sections. On this synthetic content AVIF achieves 80-90% size reduction at lossy quality 75, and even in lossless mode AVIF files are roughly half the size of equivalent PNGs. For web developers shipping documentation screenshots, marketing teams emailing design previews, and developers committing UI mockups to docs sites, switching from PNG to AVIF is the single highest-leverage image optimisation available today.
What you lose and what you gain
When you convert PNG to AVIF at quality 90, the result is visually indistinguishable from the source in side-by-side review — AVIF's perceptual quantisation tables are optimised to preserve edges and text rendering, which is exactly what UI content demands. At quality 75 you gain dramatic file size savings; fine sub-pixel text may show faint ringing artefacts at 200% zoom, which is below the threshold of normal reading. If you need absolute pixel fidelity — for a design source file you will edit again, or a sprite sheet whose pixels are read programmatically — use AVIF lossless mode instead. AVIF lossless preserves every pixel exactly, like PNG, but encodes about 40-50% more compactly because the AV1 entropy coder is more efficient than DEFLATE. AVIF also supports a full alpha channel, so PNG transparency is preserved in every mode.
How to convert PNG to AVIF
The entire process runs locally inside your browser using WebAssembly. No uploads, no server, no account required. The browser decodes PNG natively and libavif handles the AVIF encode. Note: AVIF encoding is computationally expensive — a 1920×1080 screenshot typically takes 5–15 seconds on a modern laptop, longer on older or lower-power devices.
- Click "Convert to AVIF →" at the top of this page, or drag your PNG file onto the drop zone on the homepage.
- ConvertMyPic decodes the PNG using the browser's built-in image decoder — the same path used by <img> tags — so even large 4K screenshots load instantly into a raw pixel buffer without any WASM overhead on decode.
- The pixel buffer is passed to libavif compiled to WebAssembly (based on the AOMedia reference encoder at github.com/AOMediaCodec/libavif). Encoding runs in a Web Worker so the browser UI stays responsive during the 5–15 second encode.
- A download button appears once encoding is complete. The AVIF file saves to your Downloads folder with the extension swapped — screenshot.png becomes screenshot.avif.
- Need lossless output or a different quality level? Open /convert directly to access the quality slider (1–100), a lossless toggle, and an option to strip metadata before download.
File size comparison: PNG vs AVIF at different settings
Numbers from two representative test files: a 1920×1080 UI screenshot of a web dashboard (synthetic content, mostly flat regions and text) and a 4032×3024 photograph exported from an iPhone. All AVIF encodes used libavif at speed preset 6.
| Source | Format | Mode | File size |
|---|---|---|---|
| 1920×1080 UI screenshot | PNG | Lossless (source) | 890 KB |
| 1920×1080 UI screenshot | AVIF | Lossless | 410 KB |
| 1920×1080 UI screenshot | AVIF | Lossy q90 | 85 KB |
| 1920×1080 UI screenshot | AVIF | Lossy q75 | 52 KB |
| 4032×3024 photo PNG | PNG | Lossless (source) | 10.5 MB |
| 4032×3024 photo PNG | AVIF | Lossy q75 | 580 KB |
When to convert, and when to stay on PNG
Convert PNG to AVIF for any asset you ship to end-users: screenshots in blog posts and release notes, images in marketing emails, photos on documentation sites, hero images and feature callouts on landing pages. These assets are read once and never edited, so the size savings compound across every download. AVIF is the right call here. Stay on PNG for design source files you will open again in Figma, Sketch, or Photoshop — round-tripping through lossy AVIF degrades quality each time. PNG is also the safer choice for sprite sheets where code reads specific pixel coordinates, for favicon and icon assets below 48×48 pixels (where AVIF's block artefacts are proportionally large), and for any pipeline that receives the image file and re-processes it programmatically. For batch pipelines — converting hundreds of screenshots automatically during a CI build — be aware that libavif encoding is slow. At quality 75 and speed preset 6, a single 1920×1080 encode takes 5–15 seconds of CPU time. Factor that into your build budget, or drop to speed preset 8–9 for faster (but slightly larger) output. The browser-based tool here is optimised for one-off conversions; for batch work, consider Sharp, ImageMagick, or a Squoosh CLI wrapper.
Under the hood: which codecs are used
ConvertMyPic uses the browser's native PNG decoder — no WASM needed on the decode side, which keeps load times fast regardless of file size. AVIF encoding uses libavif (github.com/AOMediaCodec/libavif), the AOMedia reference implementation of AV1-based still image encoding and decoding, compiled to WebAssembly via Emscripten. The lossless path runs OxiPNG logic (github.com/shssoichiro/oxipng) to first optimise the PNG's DEFLATE stream before handing the pixel buffer to libavif, ensuring the encoder sees the cleanest possible input. Both the WASM module and the Web Worker are cached by the service worker after the first page load, so subsequent conversions start immediately even offline. The AVIF files produced are standard ISO BMFF containers and are readable by any AVIF-compliant decoder including Chrome 85+, Firefox 93+, and Safari 16+.
FAQ
Do my files get uploaded anywhere?
No. The entire conversion runs in your browser using WebAssembly. Open your browser's Network tab during a conversion — you will see zero outbound requests beyond the initial page load. We do not operate a server, so there is nowhere to upload to.
What is the maximum file size I can convert?
Browser memory is the only practical limit. PNG files up to 50 MB and resolutions up to 4K work reliably on desktop Chrome with 8 GB of RAM. On lower-memory devices the browser may terminate the tab for very large files — split oversized images before converting if you hit this limit.
Does this work offline?
Once the page loads once, the service worker caches the app shell and the libavif WASM module. Subsequent visits work with the network disconnected. That's why the tool is installable as a PWA on desktop and mobile.
Why is this free?
Because we operate no servers. The WASM modules are served once from a CDN and all the compute happens on your CPU. Hosting cost is essentially zero, so there is nothing to charge for.
Can I convert multiple PNGs at once?
The current flow is one file at a time. For a handful of files today, the fastest approach is to open /convert in multiple browser tabs and process them in parallel. Batch conversion is on the roadmap.
Does AVIF preserve PNG transparency (alpha channel)?
Yes. AVIF supports a full 8-bit or 10-bit alpha channel, the same as PNG. Transparent pixels, semi-transparent shadows, and anti-aliased edges are all preserved. The alpha data is encoded alongside the colour data in the same AVIF container — no separate file needed.
What is AVIF lossless mode and when should I use it?
AVIF lossless mode preserves every pixel exactly, identical to PNG lossless. The advantage over PNG is that the AV1 entropy coder compresses more efficiently than DEFLATE, producing files roughly 40–50% smaller than equivalent PNGs for typical UI screenshots. Use lossless when you need to guarantee pixel-perfect fidelity — design assets you will re-open and edit, programmatically processed images, or anything where artefacts of any kind are unacceptable.
AVIF encoding feels slow — is that normal?
Yes, this is expected. The AV1 codec trades encoding speed for compression efficiency. At the balanced speed preset used by default, encoding a 1920×1080 screenshot takes 5–15 seconds on a modern laptop, and 30–60 seconds on a budget phone or older machine. Decoding AVIF is fast (less than 100 ms for the same file) — the slowness is one-directional. For one-off conversions in the browser this is fine; for batch pipelines, use a faster preset or a dedicated CLI tool.
What is AVIF browser support like in 2026?
AVIF is widely supported: Chrome 85+ (released August 2020), Firefox 93+ (October 2021), Safari 16+ (September 2022), and Edge 121+ (January 2024). Global browser support sits above 93% as of early 2026. The main gap is Internet Explorer (end-of-life), some older Android WebViews below version 85, and Samsung Internet below version 14. If you need to support those browsers, use a <picture> fallback chain.
How do I serve AVIF with a PNG fallback using <picture>?
Use the HTML <picture> element: list the AVIF source first, then the PNG as the <img> fallback. Example: <picture><source srcset="image.avif" type="image/avif"><img src="image.png" alt="…"></picture>. Browsers that support AVIF load the smaller file; older browsers transparently fall back to PNG. No JavaScript required. Next.js Image, Astro's <Image />, and most modern image optimisation pipelines generate this markup automatically.