zerouploads

Video to GIF Converter

Turn a clip into a GIF with a palette built from the footage itself. Trim it first, and nothing is uploaded.

  • Preview
  • Unlimited
  • No signup
  • Private
  • Works offline

Turn a video into a GIF

Every frame is stored whole, so doubling this roughly doubles the file. 12 reads as motion; 24 is smooth and large.

A GIF holds 256 at most. Dropping to 64 shrinks the file and shows on gradients like a sky before it shows on a cartoon.

How the missing colours are faked. Bayer keeps the file small, Sierra looks smoother, None gives flat blocks of colour.

Which part of the video to use
Commandffmpeg -i input.mp4 -vf fps=12,scale=480:-1:flags=lanczos,split[a][b];[a]palettegen=max_colors=256[p];[b][p]paletteuse=dither=bayer:bayer_scale=3 -loop 0 clip.gif
Choose a video to start

How it works

  1. 01

    Add a video

    Drop it or choose it. It plays here first, so you can find the part you want.

  2. 02

    Set the clip

    Pick a start and a length, then the frame rate and the width.

  3. 03

    Make the GIF

    The bar fills, the file downloads. Nothing is uploaded.

Why GIFs get big, and what to do

A GIF stores whole frames. There is no motion between them the way a video has, so ten seconds at 24 frames a second is 240 pictures in one file. That is why a short clip can come out larger than the video it came from.

Three settings decide the size, and they work in this order. Length matters most, then width, then frame rate. Cutting a ten second clip to four does more than any other change you can make.

12 frames a second still reads as movement and halves the count against 24. 480 pixels wide is plenty for a chat window or a README. Start there and only raise them if it looks wrong.

Input
MP4, MOV, MKV, WebM and AVI. One video at a time.
Frame rate
8 to 24 frames a second. 12 is the usual choice.
Palette
Built from your own clip, up to 256 colours, with three dithering choices.
Trim
Start and length in seconds, so only the part you want is read.

256 colours, and the trick that hides it

A GIF can hold 256 colours at once, and a photo has far more. So the tool looks at your clip first, builds the best 256 colour palette for it, then draws every frame against that palette. A palette built from your own footage beats a fixed one every time.

Dithering is how the missing colours are faked: pixels of two colours sit side by side and your eye mixes them. Bayer uses a regular pattern and keeps the file small. Sierra looks smoother on gradients and costs more bytes. None gives flat blocks, which suits cartoons and screen recordings.

Dropping to 64 colours shrinks the file. You see it on a sky or a skin tone long before a screen recording. Try it on flat material first.

Frequently asked questions

Is my video uploaded?
No. It is read and converted in this tab by your own browser. Nothing is sent, so there is no upload wait and no size cap.
Why is my GIF bigger than the video?
A GIF stores whole frames with no motion between them. A video stores the differences. Cut the length, drop the width, or lower the frame rate.
What frame rate should I use?
12 is the usual answer. It still reads as movement and holds half the frames of 24. Go higher only for fast motion you need to follow.
Why do gradients look speckled?
That is dithering, faking colours a GIF cannot hold. Switch to Sierra for smoother gradients, or raise the colours back to 256.
Can I make a GIF from just part of the video?
Yes, and you should. Set a start and a length in seconds. Only that part is read, which is faster and makes a far smaller file.
Does it keep the sound?
No. A GIF has no sound at all. If you need the audio, use a video format or the MP4 to MP3 tool for the sound alone.
Browse all video tools