WebM to GIF converter

Drop a WebM file, trim the part you want on a strip of thumbnails, choose a frame rate and width, and download a GIF. The video is decoded in your browser with WebCodecs, so nothing is uploaded, and the page tells you plainly if your browser cannot read the codec inside the file.

Free · no sign-up · runs in your browser

Drop a WebM hereor click to choose a file

WebM only · up to 300.0 MB · nothing is uploaded

Frames per second
Speed
File size

Trim

The bright part of the strip becomes the GIF. Move the two sliders to set where it starts and ends.

Before

Drop a WebM here

After

Your new GIF appears here.

How to use it

  1. Drop your WebM file

    Drop a .webm file onto the box or click to choose one. It can be up to 300 MB. Only WebM is accepted here; for an MP4 or a MOV, use the Video to GIF page.

  2. Trim the clip

    Move the two sliders under the thumbnail strip. The bright part becomes the GIF. A line under the settings shows the frame count and the length before you convert.

  3. Pick frame rate, width and size

    Choose 10, 12 or 15 frames per second, a width up to 640 px and a speed from half to double. The smaller-file option trades a little picture quality for fewer bytes.

  4. Convert and download

    Press Convert to GIF. The GIF appears next to a frame of your video with both file sizes, and Download saves it as a .gif file.

Examples made with this tool

These GIFs were made from WebM files that we encoded ourselves from our own MP4 clips, with the trim, frame-rate and GIF-writing code the tool uses. Our script decodes the video with a separate command-line tool, because WebCodecs does not exist in Node, so your browser's decoder can differ in small ways.

  • Original
    A fox turning its head, converted from a VP9 WebM file to a GIFGIF
    A 1.5 second trim of a VP9 WebM at 10 fps and 320 px wide, in smaller-file mode. The GIF is larger than the WebM it came from, because GIF stores every frame as a picture.Settings usedVP9 WebM trimmed from 0.5 s to 2 s, 10 fps, 320 px wide, smaller mode.WebM 223 KB (480 × 480 px) → GIF 410 KB (320 × 320 px), 15 frames
  • Original
    A corgi trotting across a lawn, converted from a VP8 WebM file to a GIFGIF
    The same job from a VP8 file, the older WebM codec. Two seconds at 12 fps. VP8 and VP9 are both read through the same decoder path.Settings usedVP8 WebM trimmed from 0 s to 2 s, 12 fps, 320 px wide, smaller mode.WebM 187 KB (480 × 480 px) → GIF 511 KB (320 × 320 px), 24 frames
  • Original
    A cat blinking and stretching, converted from a WebM clip to a smooth GIFGIF
    Two seconds at 15 fps in balanced mode. The WebM is only about 72 KB, yet the GIF is several times that, which is why a short trim and a small width matter.Settings usedVP9 WebM trimmed from 0.5 s to 2.5 s, 15 fps, 320 px wide, balanced mode.WebM 72 KB (480 × 480 px) → GIF 532 KB (320 × 320 px), 30 frames
  • Original
    Sea waves rolling in, converted from a WebM clip to a small GIFGIF
    The whole three second clip at 10 fps and 240 px wide. Photographic footage with soft gradients is the hardest case for a 256-colour GIF, so the width is kept small.Settings usedVP9 WebM trimmed from 0 s to 3 s, 10 fps, 240 px wide, smaller mode.WebM 240 KB (480 × 480 px) → GIF 390 KB (240 × 240 px), 30 frames

What happens to a WebM when it becomes a GIF

WebM is a container, usually holding VP8 or VP9 video, and sometimes AV1. The page opens the file with WebCodecs, asks your browser to decode the frames between your two trim handles at the frame rate you chose, and draws each one onto a canvas at the output width. Audio is ignored, because a GIF cannot carry sound.

The frames then go to a background worker that picks one shared colour palette, writes the GIF and keeps the timing in whole hundredths of a second. If the frame decoder cannot read the file, the page tries once more by playing the video in a hidden video element, and it says which path it used.

Why the GIF is bigger than the WebM

A WebM stores the changes between frames with a modern video codec. A GIF stores each frame as an indexed picture of at most 256 colours, compressed on its own. For the same seconds of footage the GIF is usually many times larger, and the examples above show real numbers.

The fix is in the settings, not in a hidden trick: a shorter trim, a lower frame rate, a narrower width and the smaller-file option all cut the size. If a video player is acceptable where the clip will be shown, keep the WebM instead.

When a WebM will not open

A WebM can hold codecs that a browser does not decode, such as AV1 on a browser without an AV1 decoder. When that happens the page shows a message about the codec instead of a blank result, and the support list below shows what your browser can decode.

A screen recorder or a browser that saves video as WebM usually gives VP8 or VP9, which opened in our tests. If a file will not open, trimming or re-saving it from the program that made it often helps, and an MP4 goes through the Video to GIF page.

Related tools

These browser tools help before or after you convert a WebM.

  • GIF to WebM: go the other way and turn a GIF into a WebM video.
  • Video to GIF: the same engine for MP4 files and other video.
  • Cut GIF: trim the finished GIF frame by frame.

When WebM to GIF helps

  • A screen capture saved as WebM

    Browser tools often save recordings as WebM. Trim the useful seconds and share them as a GIF.

  • A clip from a web page or a design tool

    Some exports and downloads arrive as WebM, which many apps will not preview. A GIF opens almost anywhere.

  • A short reaction from a longer video

    Pick the two seconds that matter on the thumbnail strip and drop the rest.

  • A looping demo for a document

    Documents and emails show a GIF inline where a video would be a link.

  • A WebM sticker or animation source

    Turn the clip into a GIF first, then resize or compress it with the other tools.

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 WebM is decoded and the GIF is written in your browser, with no upload and no account.
  • WebM files up to 300 MB are accepted. Whether a particular file opens depends on its codec and on your browser, and the page says so when it cannot.
  • A GIF made here has at most 300 frames and 30 seconds. At 15 frames per second that is 20 seconds of video, and the page offers to shorten the end for you.
  • The output is at most 640 px wide and never wider than the video. Frame rates are 10, 12 or 15, and the speed is 0.5, 1, 1.5 or 2 times.
  • Audio is dropped, and we did not test WebM files with transparency, so do not count on a transparent GIF.
  • GIFs have 256 colours per picture. Gradients and photographs can show banding, and the examples above show what to expect.
  • 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.

  • Video decoding (WebCodecs): checking
  • Background encoding (Web Workers): checking

Questions, answered

How do I convert a WebM to a GIF?

Drop the WebM above, move the two trim sliders, choose a frame rate and width, and press Convert to GIF. Download saves the file.

Does it work with VP8 and VP9?

Both opened in our tests, because the decoding is done by your browser. If your browser cannot decode the codec in a file, the page tells you instead of failing quietly.

Why is my GIF so much bigger than the WebM?

WebM is video compression and GIF is a picture per frame with 256 colours. Trim shorter, lower the frame rate or the width, or choose the smaller-file option to bring it down.

Will the GIF keep the sound?

No. GIF has no audio, so the sound is left out.

Can I convert a WebM with a transparent background?

We did not test WebM files with transparency, so do not count on a transparent GIF. To make a GIF transparent, use the Transparent GIF maker.

Is the file uploaded anywhere?

No. Decoding and encoding happen in your browser, and you can confirm in your browser's network panel that no upload request is made.