Video to GIF

Turn a short MP4 or WebM clip into an animated GIF, with frame rate and colour control.

Turn a Video Clip Into an Animated GIF

GIF is a terrible video format and an excellent sharing format. It plays inline everywhere, needs no player and no controls, and loops forever — which is why it refuses to die despite being a 1987 image format with a 256-colour palette.

This converter steps through your clip, captures each frame off a canvas, quantises the colours with median cut and writes a real GIF89a — LZW compression, frame timings, loop extension and all — without sending your video anywhere. The encoder is ours, written for this project, so there is no third-party library in the path.

Key features

  • Pick the exact segment — set the start point and length rather than converting the whole file.
  • Frame rate and width controls — the two settings that decide file size more than anything else.
  • Adjustable palette — from 8 to 256 colours, quantised with median cut for a good spread rather than a fixed web palette.
  • Optional dithering — Floyd–Steinberg error diffusion smooths gradients at the cost of a larger file.
  • Preview before you keep it — the finished GIF is shown with its size so you can retry at different settings.
100% client-side — no data leaves your machine

This tool runs entirely inside your browser using native Web APIs. Your files and text are never uploaded to a server, never logged and never shared with third parties.

How to use: Video to GIF

  1. Drop in a clip
    MP4, WebM or MOV — whatever your browser can decode. Short clips work best.
  2. Choose the segment
    Set the start point and how many seconds to capture. Under ten seconds keeps the file sane.
  3. Set quality
    Frame rate, width and colour count all trade size against smoothness. 10 fps at 320 px is a good starting point.
  4. Create and download
    Frames are captured one by one, then encoded. The result downloads and is previewed with its file size.

Technical specifications

Processing locationEntirely in your browser — no server round trip
Data uploadedNone. Files and text never leave your device
PriceFree — no account, no trial, no usage cap
CategoryMedia
Works offlineYes, once the page has loaded
Browser supportChrome 90+, Edge 90+, Firefox 90+, Safari 15+
Interface languagesEnglish, 中文, हिन्दी, Español, العربية

Frequently asked questions

Why is my GIF so large?

GIF stores each frame as a full image with no motion compensation, so file size scales with frames × pixels. Halving the width quarters the data. Dropping from 20 to 10 fps halves it again. Those two controls matter far more than the colour count.

How long a clip can I convert?

Technically up to 300 frames, but the practical limit is patience and file size. Five seconds at 10 fps and 320 px produces a shareable file; thirty seconds at 20 fps and 640 px produces something nobody will wait to load.

Why does my GIF look grainy or banded?

GIF allows a maximum of 256 colours per frame. Video has millions. Raise the colour count, or turn on dithering, which trades a little noise for much smoother gradients.

Is my video uploaded?

No. It is decoded by your browser, drawn to a canvas frame by frame and encoded in the page. The video never leaves your device.

Why does capture take a few seconds?

Each frame requires seeking the video and waiting for it to settle before it can be read off the canvas. That seek is the slow part, and it happens on your machine rather than on a queue behind other people’s uploads.

Related tools

Back to all tools