ICO to AVIF converter
Convert ICO images to AVIF format
AVIF was designed to beat JPEG on photographs, and icons are the furthest thing from a photograph: a few dozen pixels on a side, a handful of flat colours, hard edges and an alpha channel. The conversion works and the transparency survives, but the compression advantage largely disappears at this scale, because the container costs a fixed number of bytes however small the picture is. Use this pair when a pipeline standardises on AVIF, and check the result against a PNG first.
Key facts about ICO to AVIF converter
| Container overhead dominates | An AVIF wraps its coded frame in ISOBMFF boxes, and that structure costs several hundred bytes before any pixel is described. |
|---|---|
| Encoder | Your browser's own AVIF writer, reached through canvas.toBlob. This page downloads no AV1 library, so capability depends on your browser build. |
| Fallback risk | Where no AVIF encoder exists, the specification has the canvas return PNG data instead, so you can end up with PNG bytes in a file named .avif. |
| Transparency | Preserved. AVIF keeps alpha as a separate auxiliary image item, so a 32-bit icon entry or a one-bit mask both give a transparent result. |
| Quality control | The usual 30 to 100 slider, defaulting to 90. At icon dimensions the difference between settings is a few dozen bytes. |
| Edge handling | AV1 intra prediction copes with hard boundaries better than JPEG, but it is still lossy, so a single-pixel outline softens slightly at low quality. |
| Source entry | One picture per file. A multi-resolution icon is reduced to whichever entry the browser exposes, with no way to request another. |
| Opens the result | Chrome from 85, Firefox from 93, Safari from 16, macOS Ventura upward, and Windows 11 once the AV1 extension is installed. |
What happens to your file
No upload takes place, because this page has no server behind it. The icon is turned into an object URL, the browser's icon decoder produces pixels from the entry it selects, and those pixels are drawn onto a canvas owned by this tab. Requesting image/avif from that canvas hands encoding to your browser's own AV1 implementation, running on your processor. The finished bytes stay in memory until you download them.
About this tool
- 1
Add the icon
Drop a .ico file on the target area or browse for it. Up to twenty files per batch.
- 2
Leave quality high
The slider starts at 90. Lowering it on a 32-pixel image saves almost nothing while visibly softening the outline.
- 3
Convert
Press Convert. Encoding a few thousand pixels is fast even for AV1, so the slow codec does not matter here.
- 4
Compare before you commit
Look at the resulting size next to a PNG of the same icon. If PNG is smaller and lossless, AVIF has nothing to offer.
| Input and output | Takes .ico only (image/x-icon) and returns .avif with the image/avif type; any other extension is refused before decoding. |
|---|---|
| Conversion path | ICO to AVIF runs in three steps: an <img> element decodes the icon and the browser picks one entry from a multi-size file; the pixels land on a 2D canvas in this tab; then canvas.toBlob with the image/avif type returns the finished file. |
| Browser support | The icon side decodes in Chrome, Edge, Firefox and Safari, while writing the AVIF needs a Chromium browser, since Firefox and Safari return PNG bytes under the .avif name. |
| Controls for this pair | A 30 to 100 quality slider (steps of five, default 90) drives the AVIF encode, max-dimension presets from 3840 down to 200 px resize the ICO first, and the strip-metadata toggle is moot on this pair. |
| Batch, caps and naming | Twenty ICO files per run at 500 MB each; one result downloads as a single AVIF, several as converted-avif-files.zip, zipped by JSZip 3.10 in page memory. |
| Device ceiling | The canvas caps it: past roughly 16,384 px a side Chromium refuses the bitmap and iPhone Safari gives up sooner, so an oversized ICO fails before any AVIF bytes exist. |
- Verify with one file that your browser really writes AVIF, since a silent PNG fallback is easy to miss at this size.
- Serve AVIF behind a picture element with a PNG source, because the audience that cannot decode AVIF is still meaningful.
- For flat icon artwork PNG is lossless and usually the same size or smaller; AVIF wins on photographs, not logos.
- Keep the .ico for the favicon route and any Windows resource that references it, since AVIF cannot replace it.
- AV1 still-image output from your own browser
- Alpha carried through into an auxiliary item
- Quality adjustable in steps of five
- Batch twenty icons into one download
- Feeding a site asset pipeline standardised on AVIF for every raster image.
- Comparing AVIF against PNG on your own icon library before adopting the format.
- Producing a small transparent AVIF of a logo for a page that already ships AVIF with fallbacks.
Related tools
View allNeed the opposite? Try AVIF to ICO
Works well with this4
Other AVIF tools12
Updated