GIF to AVIF converter
Convert GIF images to AVIF format
AVIF is the still-image side of the AV1 video codec, which makes this pairing slightly ironic: the technology that replaced GIF for looping content now compresses its single frame. What this page produces is a still, not an animated sequence, because the only encoder a web page can reach is the one behind the canvas. On photographic or dithered GIFs the size reduction is the largest of any target here; on two-colour line art the original GIF often wins.
Key facts about GIF to AVIF converter
| Output is one frame | The canvas draws the GIF once and encodes that picture. AVIF image sequences exist, but no browser exposes a writer for them to a page. |
|---|---|
| Encoder used | Whatever AVIF encoder your browser implements behind canvas.toBlob. No AV1 WebAssembly module is downloaded by this page. |
| Fallback risk | With no AVIF writer the specification has the canvas return PNG data, so a .avif file can contain PNG bytes. Compare the output size before relying on it. |
| Transparency | AVIF stores alpha in a separate auxiliary image item, so the GIF transparent index comes through as real per-pixel alpha. |
| Typical size delta | A 500x500 dithered photographic GIF of 300 KB often lands between 20 and 50 KB at quality 90, well ahead of WebP on the same frame. |
| Where it loses | Flat two-colour art. LZW over a tiny palette is extremely compact, and an AV1 frame carries container overhead a 3 KB GIF does not. |
| Encoding cost | Noticeably slow. AV1 intra prediction searches far more block partitions than VP8 or JPEG, so expect seconds rather than milliseconds. |
| Opens the result | Chrome 85 and later, Firefox 93 and later, Safari 16 and later, macOS Ventura onward, Windows 11 with the AV1 extension. Older systems will not. |
What happens to your file
Everything runs inside this tab and nothing is transmitted. An object URL exposes the GIF to an Image element, the browser's GIF decoder renders the frame, and the frame is composited onto a canvas created by this page. Asking that canvas for image/avif hands the work to your browser's own AV1 encoder, on your CPU. With no upload there is no queue position, no temporary server file and no retention policy to read.
About this tool
- 1
Load the GIF
Drop a .gif file or browse for it. Twenty files per batch, 500 MB per file.
- 2
Set a quality
The slider runs 30 to 100 and starts at 90. AVIF holds together well low down, so try 60 on a photographic frame.
- 3
Resize a large frame first
AV1 cost scales with pixel count, so applying a preset before encoding is the biggest speed lever available.
- 4
Convert, then sanity-check
Allow more time than other targets. A real AVIF should be far smaller than a PNG of the same frame; if it is not, your browser fell back.
| Input and output | Takes .gif only (image/gif) and returns .avif with the image/avif type; any other extension is refused before decoding. |
|---|---|
| Conversion path | GIF to AVIF runs in three steps: an <img> element decodes the GIF and only its first frame reaches the canvas; 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 GIF side decodes in every browser ever shipped, 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 GIF first, and the strip-metadata toggle is moot on this pair. |
| Batch, caps and naming | Twenty GIF 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 GIF fails before any AVIF bytes exist. |
- Run one file through first to confirm your browser writes AVIF, rather than finding out after a whole folder.
- For a flat-colour GIF, compare against PNG and the original before switching; this is the case AVIF loses.
- Deliver AVIF inside a picture element with a WebP or GIF source as fallback for visitors who cannot decode it.
- A grainy or dithered GIF is exactly the material where the size win is most dramatic, because AVIF handles noise well.
- AV1 still-image output from your browser
- Alpha carried through from the GIF frame
- Quality slider from 30 to 100 with an estimate
- Pre-encode resizing to cut AV1 time
- Cutting the weight of static GIF imagery on a site that already serves AVIF.
- Producing a small poster frame for a looping AV1 video asset.
- Testing how much smaller AVIF is on your own GIF library.
Related tools
View allNeed the opposite? Try AVIF to GIF
Works well with this4
Other AVIF tools12
Updated