Animated Image to WebM Converter
Convert animated GIF images to WebM video format directly in your browser. Smaller files, progressive loading, no server upload required.
Drop an animated GIF here or click to browse
Max 50 MB · GIF87a / GIF89a
About
Animated GIF files use a compression scheme from 1989. A typical animation stored as GIF occupies 1.7 MB while the same content encoded as WebM (VP9) compresses to roughly 94 KB - a reduction factor exceeding 18×. GIF decodes every frame into an uncompressed bitmap before display, producing the characteristic "slow motion" loading artifact on constrained connections. WebM streams progressively: the first bytes paint a visible frame. This tool parses the GIF89a binary format entirely in your browser, decompresses LZW image data, coalesces partial-frame disposal chains onto a canvas, then re-encodes the sequence via the MediaRecorder API as a loopable WebM file. No server upload occurs. Note: output quality depends on browser VP8/VP9 encoder fidelity, which varies across engines. Chrome and Edge produce the best results. Firefox supports VP8 but may yield slightly larger files. Safari has limited WebM encoding support.
Formulas
GIF frame timing is stored in the Graphic Control Extension as a delay value d in hundredths of a second. The effective framerate for the WebM output is computed per-frame:
Where d = 0 is treated as d = 10 (100 ms) per the GIF89a specification, since many decoders interpret zero-delay as a "fast as reasonable" directive and typically default to 10 fps.
The compression ratio achieved:
Where SGIF is the source file size in bytes and SWebM is the output size. Typical values range from 5× to 20× depending on content complexity and color distribution.
LZW decompression uses a variable-width code table starting at minCodeSize + 1 bits, expanding up to 12 bits. The clear code is 2minCodeSize and the end-of-information code is 2minCodeSize + 1.
Reference Data
| Format | Codec | Year | Max Colors | Alpha | Progressive Load | Typical Size (10s anim) | Browser Support |
|---|---|---|---|---|---|---|---|
| GIF | LZW | 1989 | 256 | 1-bit only | No | 1.5 - 5 MB | Universal |
| APNG | Deflate | 2004 | 16.7M (32-bit RGBA) | 8-bit | No | 0.8 - 3 MB | All modern |
| WebM (VP8) | VP8 | 2010 | 16.7M (YUV420) | No | Yes | 80 - 300 KB | Chrome, Firefox, Edge |
| WebM (VP9) | VP9 | 2013 | 16.7M (YUV420/444) | Yes (Profile 1) | Yes | 50 - 200 KB | Chrome, Firefox, Edge |
| MP4 (H.264) | AVC | 2003 | 16.7M (YUV420) | No | Yes (moov atom) | 100 - 400 KB | Universal |
| MP4 (H.265) | HEVC | 2013 | 16.7M | No | Yes | 40 - 150 KB | Safari, partial Chrome |
| AV1 | AV1 | 2018 | 16.7M (HDR capable) | Yes | Yes | 30 - 120 KB | Chrome 70+, Firefox 67+ |
| WebP (anim) | VP8 | 2011 | 16.7M (RGBA) | 8-bit | No | 200 - 800 KB | All modern |
| FLIF | MANIAC | 2015 | 16.7M | 16-bit | Yes (interlaced) | 100 - 500 KB | None native |
| JXL (anim) | JPEG XL | 2021 | 16.7M (HDR) | Yes | Yes | 60 - 250 KB | None (flag removed) |
| MNG | Deflate | 2001 | 16.7M | 8-bit | No | 1 - 4 MB | None mainstream |
| MPEG-DASH (frag) | Various | 2012 | 16.7M | Codec-dep. | Yes (adaptive) | Variable | Via JS players |