Convert a video to an animated GIF

Pick a start time and duration, a width and frame rate, and get a GIF with an optimised colour palette so it looks far better than a default conversion. Everything runs on your device; there is no upload, watermark or file limit.

✓ Runs in your browser — nothing uploaded Free, no sign-upNo watermark

    How to use the Video to GIF

    1. Drop a video (MP4, MOV, WebM, MKV, AVI).
    2. Set start time and duration; keep GIFs under 10 seconds for a reasonable size.
    3. Choose width and frame rate.
    4. Click Make GIF and download.

    Why GIF size explodes and how to control it

    GIF stores every frame as a full image with at most 256 colours and no real compression between frames, so size scales with width × height × frames. A 10-second clip at 640 px and 24 fps is 240 frames and can reach 20–40 MB; the same clip at 480 px and 12 fps is 120 frames of a quarter the pixels and typically 3–6 MB. Width and frame rate are the two levers that matter; colour count and dithering change size by 10–30%.

    Palette optimisation

    A naive converter uses a fixed 256-colour web palette, which produces banding and speckle. This tool runs ffmpeg's two-pass method: it first scans the clip to build a palette of the colours that actually appear, then maps every frame to that palette. The result is noticeably cleaner, especially for screen recordings and animation. Dithering trades a little file size for smoother gradients and is worth enabling for real-world footage with skies or skin tones.

    Where to use GIF vs video

    GIF is right where autoplay video is not supported or is blocked: README files on GitHub, some chat apps, email newsletters and old forums. Everywhere else a short MP4 or WebM is 10–20× smaller with better quality; social networks convert uploaded GIFs to video anyway. If the target supports video, use the video compressor instead.

    How it runs without uploading

    This tool uses ffmpeg, the same open-source engine behind most video software, compiled to WebAssembly. The first time you use a video tool the engine (about 30 MB) is downloaded from a content delivery network and cached by your browser; after that it loads instantly, even offline. Your video is read into memory, processed by the engine inside the browser sandbox, and the result is offered as a download. Nothing is transmitted. Because it runs on one CPU core, encoding takes roughly real time to three times real time depending on your device: a 30-second clip takes 30–90 seconds, a 10-minute video may take 10–30 minutes and needs a few hundred megabytes of free memory. For long videos, trim first or use a desktop tool.

    Frequently asked questions

    Is there a length limit?

    No hard limit, but GIFs over about 15 seconds become very large. Trim to the moment that matters.

    Why is my GIF bigger than the video?

    GIF has no inter-frame compression. Reduce width, frame rate or duration.

    Is the video uploaded?

    No. Conversion runs in your browser with ffmpeg compiled to WebAssembly.

    Does it work on a phone?

    Yes in modern mobile browsers, though encoding is slower and long clips may exceed memory.

    Privacy

    This tool runs entirely inside your browser using WebAssembly and the Canvas/File APIs. Your files are never uploaded to ToolFlint or any third party; you can verify this in your browser's network tab or by switching to airplane mode after the page loads. Read how we process files.

    Last updated 2026-09-23.