Skip to main content

GIF to AVIF converter

Convert GIF images to AVIF format

No watermarkFree & unlimited
All processing happens in your browser. No data is sent to any server.

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

Key facts about GIF to AVIF converter
Output is one frameThe 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 usedWhatever AVIF encoder your browser implements behind canvas.toBlob. No AV1 WebAssembly module is downloaded by this page.
Fallback riskWith 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.
TransparencyAVIF stores alpha in a separate auxiliary image item, so the GIF transparent index comes through as real per-pixel alpha.
Typical size deltaA 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 losesFlat 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 costNoticeably slow. AV1 intra prediction searches far more block partitions than VP8 or JPEG, so expect seconds rather than milliseconds.
Opens the resultChrome 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. 1

    Load the GIF

    Drop a .gif file or browse for it. Twenty files per batch, 500 MB per file.

  2. 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. 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. 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.

Specs & compatibility
Input and outputTakes .gif only (image/gif) and returns .avif with the image/avif type; any other extension is refused before decoding.
Conversion pathGIF 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 supportThe 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 pairA 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 namingTwenty 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 ceilingThe 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.
Not here. AVIF does define image sequences and libavif-based tools can produce them, but a browser canvas writes a single still image. For the motion at AV1 quality, encode the GIF to an AV1 video with ffmpeg and loop it in a muted video element.
Look at the size. A photographic frame producing several hundred kilobytes that looks flawless is almost certainly PNG data under an .avif name, which the specification permits when the type is unsupported. A hex viewer showing an ftyp marker confirms a real AVIF.
It depends on the content. A dithered photograph or a screen capture of video beats both the GIF and a WebP of the same frame by a wide margin. A two-colour icon may already be a few kilobytes as GIF, and AVIF will not improve on it.
Yes. AVIF keeps alpha as a separate auxiliary image item inside the container, so the encoder writes the canvas alpha into it and a GIF with a transparent palette index gives a transparent AVIF. The edge stays hard, since GIF transparency has no partial values.
AV1 intra coding evaluates a far larger set of prediction modes and block partitionings than VP8, and that search is precisely why the files come out smaller. Cost grows with pixel count rather than file size, so a large frame is slow even from a tiny .gif.
View all

Need the opposite? Try AVIF to GIF

Updated

We use anonymous analytics to improve ToolChamp. No personal data is stored or sold. Privacy Policy