Video to GIF

Turn a short clip into an animated GIF.

Drop your file here

or

Supported: MP4, MOV, WebM, MKV, AVI · Limited only by your device memory

Your privacy matters. Files processed locally never leave your device.

Video tools load a one-time ~32 MB engine into your browser on first use. After that it is cached and every run starts immediately.

How to use Video to GIF

  1. 1Drop in a video file
  2. 2Set the start time and how many seconds to capture
  3. 3Choose a frame rate — 12 is a good default
  4. 4Set the output width; the height follows automatically
  5. 5Convert and download the GIF

What Video to GIF does

GIF is a format from 1987 and it shows. Every frame is limited to 256 colours drawn from a palette, there is no interframe compression worth the name, and audio does not exist. A three-second clip that occupies 400 KB as MP4 can easily reach 4 MB as GIF.

The 256-colour limit is the interesting constraint. Choosing which 256 colours badly produces banding across skies and skin; choosing well is almost invisible. This tool runs two passes for that reason — the first analyses your specific clip and builds a palette optimised for it, the second encodes using that palette. A single-pass conversion with a generic palette is where most bad GIFs come from.

When to use it

Showing a bug or a UI problem
A short screen recording as a GIF plays automatically in issue trackers and chat, where a video file needs downloading and opening.
A reaction clip
Two or three seconds from a video, looping silently. The format's limitations barely matter at that length.
A demonstration in documentation
A GIF embedded in a README or a wiki page plays inline everywhere, without a video player or a hosting service.
Email and older platforms
Many email clients and legacy systems block video but display animated GIFs, which makes it the only moving format that reliably arrives.

Video to GIF settings explained

Start time and duration
Where to begin, in seconds, and how long to capture. Keep it short — file size grows roughly linearly with the number of frames, and GIF has almost no compression between them.
Frame rate
Frames per second, defaulting to 12. That is enough for motion to read as smooth in a short loop while producing half the frames of 24. Ten to fifteen is the usual range; going higher multiplies the file size directly.
Width
Output width in pixels, with the height calculated to preserve the aspect ratio. Scaling uses the lanczos filter, which keeps detail sharper than the default when shrinking substantially.
Two-pass palette
The first pass examines the frames you selected and builds an optimal 256-colour palette for that specific clip. The second encodes against it. This is why gradients and skin tones come out cleanly rather than banded.

What drives GIF file size

Each setting's effect on the output, in rough terms.
SettingEffect on sizeEffect on quality
DurationDirectly proportionalNone — just more of it
Frame rateDirectly proportionalSmoother motion
WidthRoughly with the squareMore detail
Colour paletteFixed at 256Set by the two-pass analysis

Limits and what to expect

  • 256 colours per frame is a hard format limit — photographic footage will show some banding.
  • There is no audio; GIF has no concept of a sound track.
  • File sizes are large compared with any video format, often ten times an equivalent MP4.
  • Long clips are impractical: keep to a few seconds unless the frame rate and width are very low.
  • The first run downloads a ~32 MB engine, which is then cached.

Troubleshooting

The GIF is enormous
Reduce the duration first, then the width, then the frame rate — in that order of impact. GIF has almost no compression between frames, so every frame costs close to its full size. Three seconds at 12 fps and 480 pixels wide is a reasonable target.
Colours look banded or posterised
That is the 256-colour ceiling, and the two-pass palette already does what can be done about it. Footage with smooth gradients — skies, sunsets, gradients in a UI — is the hardest case. Reducing the width sometimes helps by removing fine variation.
The motion is jerky
Raise the frame rate towards 15 or 20, accepting a proportional increase in file size. Below about 10 fps, motion starts to read as a slideshow.
There is no sound
GIF cannot carry audio — the format has no provision for it. If sound matters, keep the clip as a video and use the trimmer instead.

Your files and your privacy

Both passes run through an ffmpeg build compiled to WebAssembly inside your browser tab. The video never leaves your device, which matters more than usual here because the most common source for a GIF is a screen recording — and screen recordings routinely capture more than the window you meant to record.

What to use next

FAQ

Why is my GIF so much larger than the video?

GIF has essentially no compression between frames — each one is stored close to independently — while modern video codecs describe most frames as differences from their neighbours. That is the whole reason video formats exist, and it makes a GIF commonly ten times the size of an equivalent MP4.

What frame rate should I use?

Twelve is a good default: motion reads as smooth in a short loop and you produce half the frames of 24 fps. Go to 15 or 20 for fast movement, accepting a proportional size increase. Below 10 the result starts to look like a slideshow.

Why do the colours look banded?

GIF allows only 256 colours per frame. This tool runs a two-pass conversion that builds a palette optimised for your specific clip rather than using a generic one, which is the main defence against banding — but footage with smooth gradients will still show some.

Can a GIF have sound?

No. The format has no provision for audio at all. Silently looping video is exactly what GIF is, and if sound is needed the clip has to stay a video.

How long can the clip be?

There is no hard limit, but size grows directly with duration. Beyond about ten seconds the file becomes impractical to share unless the width and frame rate are very low. Two to five seconds is the usual range.

Is my video uploaded?

No. Both encoding passes run in your browser through WebAssembly, on your own device, with nothing transmitted.