How to convert GIF to AVIF without uploading it
Every "free" online GIF converter you've used uploads your images to a company server, converts them there, and — in several documented cases — keeps a copy or a live download link for days. For graphics, logos, and anything you wouldn't post publicly, that's an unnecessary risk. The safer approach is to convert the file where it already is: on your own device.
This tool does exactly that. When you drop a GIF here, your browser:
- Decodes the GIF locally — in a Web Worker, with the vendored omggif decoder, honouring disposal methods and the transparent palette index, so the first frame comes out exactly as the GIF shows it.
- Keeps the transparency — transparent pixels become AVIF alpha, so logos and icons stay see-through. There is no background picker and no flattening.
- Resizes it to the width you picked (800 px by default), keeping the aspect ratio. Images at or below the chosen width keep their size — nothing is upscaled.
- Encodes it as AVIF with libavif, the reference AVIF encoder, running as WebAssembly in your browser — lossy at the quality you pick. Your original file is never modified. Encoding takes roughly 5–10 seconds for a large image, and each file card shows how long its encode took.
What happens to animation?
It is lost — honestly and on purpose. The vendored AVIF encoder is still-only: it cannot encode an animated sequence, so an animated GIF converts to its first frame only, exactly like XConvert and Fylo do. The file card shows the frame count (for example, "3 frames"), and animated files carry a plain warning that only the first frame was saved. If you need the animation, keep the GIF — or use our GIF to JPG converter to extract every frame as its own still image. Still GIFs convert normally, with nothing lost.
Why is there no lossless mode?
Because the lossless mode in this encoder is broken — and shipping a broken toggle would be worse than having none. When the vendored libavif encoder is asked for lossless output, it produces a greyscale file: a colour image comes back without its colour (a solid red test image decodes back as grey). That was verified with two independent decoders, so it is the encoder, not the preview. Rather than offer a control that silently destroys your images, this tool is lossy only: pick a quality (80 by default) for the image's destination — a website, a blog post, Discord or a forum — and at quality 80 the result looks identical to the original for almost every image, typically 40–60% smaller than the GIF. If you need every pixel exactly, convert to PNG instead, which is lossless by design. Either way, keep the GIF as your master copy and publish the AVIF.
Why is AVIF smaller than GIF?
GIF compresses by limiting an image to 256 colours and squeezing repeats, a technique from 1987. AVIF's AV1 codec predicts neighbouring pixels far better and encodes the difference more efficiently, so the same graphic typically comes out 40–60% smaller at quality 80 with no visible difference. That is why switching a site's GIFs to AVIF is one of the cheapest PageSpeed wins there is. The saving is real but not magic: a GIF that was already tiny and flat has little left to squeeze, and at quality 100 the AVIF can come out bigger than the GIF it came from.
Why won't my GIF load fast enough on my site?
GIF is the web's default for simple graphics and animation, but a GIF used as a static image still costs a full download, and every kilobyte is time your visitor waits — especially on a phone. AVIF keeps the picture looking the same while cutting the weight, which is what Core Web Vitals and PageSpeed measure. If the destination has a size limit, pick a destination preset and the converter will aim for it: website heroes aim for under 300 KB, blog images under 150 KB, Discord or forum uploads under 256 KB.
Why is there no canvas fallback?
With WebP, a converter can fall back to the browser's built-in canvas encoder when its own encoder fails. AVIF has no such safety net: canvas toBlob with image/avif is not reliably available — Safari cannot encode AVIF at all — so a canvas "fallback" would either fail silently or hand you a WebP file with an .avif name, which is worse than no file at all. This tool uses the vendored libavif encoder and nothing else. If that encoder cannot load, conversion is disabled and the page says so plainly, with a link to the GIF to JPG converter instead.
Honest limitations
First frame only
Animated GIFs lose their motion: only the first frame is saved, because the AVIF encoder is still-only. The frame count is shown on every file card, so it is never a surprise.
Lossy only
The output always discards some detail. Quality 80 is visually identical to the original for most images, but quality 100 is near-lossless, not pixel-perfect. Keep the GIF as your master copy.
No lossless mode — on purpose
This encoder's lossless option produces greyscale files, so the toggle was left out rather than ship a control that silently strips the colour from your images. For pixel-exact output, convert to PNG instead.
Quality 100 can be larger than the GIF
At quality 100 the AVIF can come out bigger than the GIF it came from, especially for tiny flat graphics. If the file comes out bigger, the card says so — use a lower quality for publishing instead.
AVIF encoding is slow
Roughly 5–10 seconds for a large image, because the AV1 encoder searches far more ways to pack the image into fewer bytes. The batch converts one file at a time and each card shows its encode time, so the wait is visible.
Transparency is preserved
GIF's transparent pixels become AVIF alpha, so logos and icons stay see-through — shown on a checkerboard in the preview. There is no background picker and nothing is flattened onto a colour.
GIF is capped at 256 colours
The AVIF cannot exceed the source's colour detail. Converting a GIF cannot add colours or detail that were never there — it keeps exactly the quality the GIF had.
Metadata is dropped
EXIF and other metadata in the GIF is not carried into the AVIF. GIFs rarely carry EXIF, but nothing is copied over — which is good for privacy.
Not every app accepts AVIF yet
Every modern browser displays AVIF, and Discord, Slack and most forums accept it — but a few older upload forms and apps still only take JPG or PNG. Check the destination first, or convert to JPG instead.
Very large images depend on your device
The encoder runs entirely on your device, so a 50-megapixel GIF needs hundreds of megabytes of memory while it converts. A desktop handles that; a low-memory phone may not. Files over 25 MB are refused outright.