Cookies for analytics and advertising
We use cookies for analytics and advertising, both sent to Google. Refusing changes nothing you can see.Read the privacy page
Converting WebM to GIF gives you a silent looping animation you can paste where video is not accepted — at a real cost, because a GIF stores every frame in full at 256 colours and is routinely ten times larger than the WebM it came from. The defaults trim to ten seconds at 480 pixels and twelve frames a second for exactly that reason, and it all happens in your browser.
Up to 100 files at once. Mixed formats are fine.
They convert one after another and download together as a ZIP.
WebM to GIF
This is the awkward truth about this particular pair, and it deserves to come first. For anything that will be shown in a browser, the WebM you have beats the GIF you are about to make on every axis: a tenth of the size or less, millions of colours instead of 256, whatever frame rate it was recorded at, and hardware-accelerated playback that does not spin a phone’s CPU. A `<video autoplay muted loop playsinline>` element gives you an autoplaying silent loop that behaves exactly like a GIF and is not one.
Every large platform already knows this. Twitter, Reddit, Slack and Discord all convert uploaded GIFs to video behind the scenes, because they are the ones paying for the bandwidth. So if the destination is a web page you control, stop here — you already have the file you want. This conversion is for the destinations that have not caught up.
They are real and there are more of them than you would expect. Bug trackers and issue threads that render images and not video. Wikis and internal knowledge bases with an image-only uploader. Email signatures and newsletters, where video does not play in most clients and an animated GIF does. Older forums. Documentation generators that accept a picture and nothing else. Chat platforms that treat GIF as a first-class type with its own picker.
If your destination is on that list, this is the right conversion and the rest of this page is about making the file small enough to be accepted. If it is not, the WebM is the answer and it costs you nothing because you already have it.
GIF has no motion compensation. Modern video codecs describe one frame completely and then, for every frame after it, only what changed — which is why a ten-minute screen recording of a mostly-static interface can be a few megabytes. GIF stores each frame as a whole picture, one after another, all the way to the end.
The consequence catches people out constantly. Ten seconds of ordinary footage as a GIF is comfortably larger than the entire WebM it came from, often by a factor of ten or twenty. No setting fixes this and no converter avoids it; the format was finished in 1989 and has not changed since. What can be done is to give it less to store, which is what the three controls under the result are for.
Twelve frames a second, 480 pixels wide, ten seconds long. Twelve is the low end of what still reads as motion and is roughly what hand-made GIFs have used since the format was popular; it gives an 83-millisecond delay between frames. 480 pixels is a width that fits a chat window, an issue thread or a documentation page, which is where GIFs actually go. Ten seconds is where the size curve turns unpleasant.
Each control multiplies the file almost directly, and they multiply against each other. Frame rate is linear: doubling to 24 roughly doubles the bytes, because it doubles the number of complete images. Width is quadratic, because area scales with the square of the edge — halving the width quarters the file. A two-second clip at 800 pixels and 30 frames a second can easily be larger than a ten-second one at the defaults.
There is a hard limit of 600 frames, beyond which a browser runs out of memory before the encoder finishes. The length control goes up to sixty seconds and the frame-rate control up to thirty, and the two together can ask for far more frames than that.
When they do, the clip is truncated rather than the conversion failing. At the default twelve frames a second, 600 frames is 50 seconds — so a sixty-second request quietly gives you fifty. At thirty frames a second it is twenty seconds. Neither is a common ask, because a fifty-second GIF at a readable width is tens of megabytes and will be rejected by whatever you are pasting it into, but it is better to know the ceiling exists than to discover it in a result.
The frames are sampled from the first frame forward, at evenly spaced timestamps, for the length you set. There is no start offset. If the moment worth showing is ninety seconds into a screen recording, this conversion cannot reach it.
The way round it is to trim first — in whatever recorded the clip, in a video editor, or by exporting a shorter capture in the first place. It is worth planning around, because the usual instinct with a long recording is to convert it and then look, and here that produces ten seconds of somebody opening a browser.
A GIF frame can contain at most 256 distinct colours; a frame of video routinely contains tens of thousands. Something has to decide which survive, and here that decision is made separately for every single frame rather than once for the clip. A shared palette is faster and smaller and falls apart the moment the scene changes — a cut from a bright room to a dark one leaves the second half rendered in the first half’s colours.
No dithering is applied. Dithering hides banding by scattering pixels between two available colours, and it makes GIFs noticeably larger because the noise it adds is exactly what the format’s compression cannot handle. The trade here is flat, clean areas with visible steps in gradients rather than a fuzzy approximation of a smooth one. On a screen recording of an interface it is close to invisible, which is the case this conversion is actually good at. On a sunset it is obvious.
Almost every WebM that arrives at this page is a screen recording, and screen content is the one kind of picture GIF handles honestly. Interface panels are flat colour. Text is two colours. Large parts of the frame do not change between one moment and the next, which is the only kind of redundancy the format’s compression can exploit.
A ten-second capture of a menu being opened and a setting being changed converts to a GIF that looks essentially identical to the video and is small enough to attach to an issue. That is the shape this conversion is for, and it is why the defaults are tuned around it rather than around camera footage.
GIF has no audio track and nowhere to put one. If the WebM has narration — and a screen recording usually does — the GIF is silent and there is no setting that changes it.
That is often the moment to reconsider the destination. If the words matter, a GIF is the wrong artefact entirely: keep the WebM, or convert it to MP4 for somewhere that plays video, or pull the narration out as an MP3 and write the steps down beside a still. A silent loop of somebody talking is a worse explanation than either.
Your browser already decodes WebM — it is the format browsers were given the codecs for first. This page uses that decoder, samples the timestamps it wants, reduces each frame to a palette and writes the GIF, entirely on your machine. Nothing is uploaded and there is no account.
That is worth stating here more than almost anywhere else on the site. GIF making is one of the most upload-hungry corners of the internet, and the files being uploaded are screen recordings — which is to say inboxes, dashboards, customer names and internal tooling. You can check which kind of site you are on in ten seconds: open developer tools, watch the network tab, convert something and see whether anything carrying your recording leaves.
| WebM | GIF | |
|---|---|---|
| Full name | WebM Video | Graphics Interchange Format |
| File extension | .webm | .gif |
| Media type | video/webm | image/gif |
| Compression | Lossy — file size is bought with quality | Lossless — nothing is discarded |
| First published | 2010 | 1987 |
| Published by | CompuServe | |
| Specification | — | GIF89a |
| Licensing | Open standard | Open standard |
| Standing today | Current | Legacy, still read everywhere |
| Bit depth | — | 8 |
| Colour it can describe | — | indexed palette |
| Largest image | — | 65,535 px per side |
| Opens in a browser | Every browser | Every browser |
| Considered instead | MP4, MKV | WebP, MP4 |
GIF has no alpha channel. A transparent WebM comes out with those areas filled in — white unless something else is set — and no setting in GIF brings the transparency back.
GIF stores at most 256 colours per frame. A photograph converted into one is reduced to a palette, which is what makes the sky look stepped rather than smooth — it is the format, not a quality setting.
The usual programs do not overlap: WebM opens in VLC and FFmpeg, GIF in GIMP, Adobe Photoshop and ImageMagick — so whoever receives the result needs something from the second list.
GIF comes from CompuServe and dates from 1987, specified as GIF89a. GIMP, Adobe Photoshop and ImageMagick all read it.
GIF was published in 1987 and WebM in 2010. The older one is generally the safer file to hand to somebody; the newer one usually does the job in fewer bytes.
Because GIF stores every frame as a complete picture. Video codecs store one frame and then only what changed, which is why a screen recording of a mostly-static interface is tiny. GIF has no motion compensation at all — the format was finished in 1989 — so ten seconds is ten seconds’ worth of whole images, routinely ten to twenty times the size of the WebM. That is the format, not the converter.
Not here. Sampling always begins at the first frame and runs forward for the length you choose, so a GIF of the interesting middle of a recording has to be trimmed in something else first. This is a real limitation and worth knowing before you convert a five-minute capture expecting to get the good bit.
Frame rate is linear — going from 12 to 24 frames a second roughly doubles the file, because it doubles the number of complete images. Width is quadratic: halving it quarters the size, because area scales with the square of the edge. Length is linear too. The defaults of ten seconds, 480 pixels and 12 frames a second are picked to produce something you can actually paste.
There is a hard ceiling of 600 frames, beyond which a browser runs out of memory before the encoder finishes. At the default 12 frames a second that works out at 50 seconds; at 30 frames a second it is 20. The clip is truncated rather than the conversion failing, so check the result if you asked for a long one.
Because every frame is reduced to at most 256 colours, and no dithering is applied. On a screen recording — flat panels, solid text, few colours — this is close to invisible and is why software demos are the one thing GIF still does well. On camera footage, skies, skin tones and gradients break into visible steps. Each frame gets its own palette, which is the best available answer, but 256 is the format’s ceiling.
No. The WebM is decoded, every frame quantised to a palette and the GIF written inside your browser. This is unusual for this conversion specifically — GIF making is one of the most upload-hungry corners of the internet, because running FFmpeg on a server is easier than doing it properly in a tab. Screen recordings are also the files most likely to have someone’s inbox in them.
The claims this page makes about WebM and GIF are checkable, and these are the documents that settle them.