GIF to WebM converter
Drop a GIF and get a WebM video that shows the same frames at a steady frame rate. Your browser encodes the picture as VP9, or VP8 when VP9 is not available, you can repeat the loop up to 10 times, and you see the GIF's size next to the video's. Nothing is uploaded.
Free · no sign-up · runs in your browser
GIF only · up to 25 MB · nothing is uploaded
Drop a GIF here
Your WebM will play here.
How to use it
Drop your GIF
Drop a .gif file onto the box or click to choose one. Files up to 25 MB, 300 frames and 30 seconds of playing time are accepted.
Read the plan
The left pane plays your GIF. Under the settings, one line gives the video size, the frame rate, the number of frames and the length the WebM will have.
Set frame rate, repeats and background
The frame rate starts at the one closest to your GIF's own timing. Choose how many times the clip plays inside the file, and a background colour for any transparent areas.
Convert and download
Press Convert to WebM. The video appears next to the GIF with both file sizes and plays on a loop. Download saves it as a .webm file.
Examples made with this tool
These WebM files were made from GIFs we already use on this site, with the frame plan the tool uses: constant frame rate, even sizes and the repeat count on each card. Our script encodes the video with a separate VP9 encoder, because WebCodecs does not exist in Node, so your browser's encoder will give different sizes.
OriginalWebMA 16-frame GIF that lasts 0.8 seconds, at 50 ms per frame, so the tool picks 20 fps. A video under one second is padded by repetition, so the clip plays twice and the WebM is 1.6 seconds long.Settings usedVP9 video at 20 fps, 480 × 270 px, plays 2× in the file, transparent areas filled with #ffffff.GIF 34 KB (480 × 270 px) → WebM 12 KB (480 × 270 px)
OriginalWebMA meme GIF at 10 fps, repeated three times, so the video lasts 4.8 seconds. Detailed pictures are where video compression gains most over a GIF's 256 colours.Settings usedVP9 video at 10 fps, 320 × 320 px, plays 3× in the file, transparent areas filled with #ffffff.GIF 719 KB (320 × 320 px) → WebM 134 KB (320 × 320 px)
OriginalWebMA scrolling banner of 57 frames, 40 ms apart, so the tool picks 25 fps. The banner is 480 by 120 and plays twice, and both sides were already even.Settings usedVP9 video at 25 fps, 480 × 120 px, plays 2× in the file, transparent areas filled with #ffffff.GIF 215 KB (480 × 120 px) → WebM 109 KB (480 × 120 px)
OriginalWebMA sticker GIF with a transparent background. This page does not write transparency, so the background is set to cream and the bear is drawn on it. Played twice at 10 fps.Settings usedVP9 video at 10 fps, 320 × 320 px, plays 2× in the file, transparent areas filled with #fff8ef.GIF 356 KB (320 × 320 px) → WebM 86 KB (320 × 320 px)
How a GIF becomes a WebM
A GIF gives every frame its own delay, and delays can vary. A video has one frame rate. The tool takes the typical delay in your GIF, picks the nearest of 10, 12, 15, 20, 25 and 30 frames per second, and shows each GIF frame for as many video frames as its delay needs, so a 100 ms frame at 20 fps becomes two video frames.
The frames go to your browser's WebCodecs encoder, and a small library writes them into a WebM file. The tool asks the browser which VP9 configuration it can encode at your size and frame rate, and falls back to VP8 inside the same WebM container only if VP9 is not available.
Why repeat the loop inside the file
A GIF repeats forever on its own, but a video file is just a clip. A three second GIF becomes a three second WebM that stops. The Repeat the loop setting writes the clip into the file one to ten times, so it plays longer without any help from the page that shows it.
Very short GIFs are a special case. When one pass lasts under a second, the tool repeats it until the video reaches one second, and the result tells you so. The total length is capped at 60 seconds, and the line under the settings shows it before you convert.
When the browser cannot encode WebM
Encoding video needs the WebCodecs VideoEncoder and a VP9 or VP8 configuration that your browser accepts. Some browsers lack one or both. When that is the case, this page stops with a message that names what is missing.
It does not quietly hand you an MP4 or another container instead. If you need a video from a browser without WebM encoding, try the current Chrome, or use the GIF to MP4 page where an H.264 encoder is available.
Related tools
These browser tools help before or after you make the video.
- WebM to GIF: go the other way and turn a WebM into a GIF.
- GIF to MP4: make an H.264 MP4 instead of a WebM.
- GIF compressor: make the GIF itself smaller when you still need a GIF.
When GIF to WebM helps
A page that plays video but is heavy with GIFs
A muted, looping video element is a common way to show a short animation, and a WebM is usually far smaller than the GIF.
A large GIF that has to be lighter
A photo-like GIF often becomes a much smaller video, and the page shows the real saving.
A clip for a web project
WebM is an open format that web projects use for short loops and effects.
A clip to edit with a fixed frame rate
Editors take a video at a steady frame rate more readily than a GIF with uneven delays.
A sticker on a coloured background
Choose the background colour and the transparent GIF becomes a video that matches the page.
How this tool works and its limits
This is what the converter does with your file, and where it stops.
- Your file never leaves your device. The GIF is decoded and the WebM is written in your browser, with no upload and no account.
- GIFs up to 25 MB are accepted, and the GIF must fit the site limit of 300 frames and 30 seconds of playing time. With repeats the video can be up to 60 seconds long.
- The video is VP9, or VP8 when VP9 is not available, in a WebM container, with no audio. Transparent areas are filled with the colour you pick, because this page does not write an alpha channel.
- The frame rate is one of 10, 12, 15, 20, 25 or 30. Frames are repeated or skipped to keep the timing, so a GIF with very uneven delays is smoothed to a steady rate.
- Both sides are made even, and a picture larger than 1920 pixels on its long side is scaled down. Resize the GIF first if you need an exact video size.
- The encoder is your browser's. If it has no WebM encoder, the page says what is missing and stops. It does not quietly give you another format.
- We built and tested the tool in current Chrome. The check below asks your own browser what it supports.
Does your browser support this?
This list is checked against the browser you are using right now, by asking it directly. It is not a guess from the browser name.
- WebM video encoding (WebCodecs): checking
- Background encoding (Web Workers): checking
Questions, answered
How do I convert a GIF to a WebM?
Drop the GIF above, check the frame rate and the number of repeats, and press Convert to WebM. The video plays next to your GIF with both file sizes, and Download saves it.
Is the WebM smaller than the GIF?
Often, especially for photo-like GIFs, but not always. Very small flat GIFs can already be tiny. The result always shows both real sizes, so you can check.
Why is the video a different length from my GIF?
You may have asked for repeats, or the GIF may be under one second, in which case the tool repeats it to reach one second. The line under the settings shows the exact length first.
Will the WebM loop like the GIF?
Not by itself. That is why the tool can write the loop into the file up to ten times. On a web page you can also set the video element to loop.
What happens to transparency?
This page writes video without an alpha channel. Transparent areas are filled with the background colour you choose, so pick the colour of the place where the video will be shown.
Why does it say my browser cannot make a WebM?
The page uses your browser's own VP9 or VP8 encoder through WebCodecs. If the browser has neither, the message names what is missing. Try the current Chrome. There is no fallback to another format.



