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.

  • Unlimited
  • No signup
  • Private
  • Works offline

Turn a video into a GIF

Each frame is a picture of its own, so doubling this roughly doubles the file. 12 reads as motion, and 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 and the file downloads. Nothing is uploaded.

Why GIFs get big, and what to do

A GIF has none of the motion compression a video has. Every frame is a picture of its own, 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.

Length, width and frame rate decide the size. Halving the width leaves each frame a quarter of the pixels. Halving the length or the frame rate halves the number of frames.

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 default.
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 converted.

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 a 256-colour palette from it, then draws every frame with that palette. A palette from your own footage fits it far better than a fixed one.

Dithering fakes the missing colours. 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. Your own browser reads and converts it in this tab. Nothing is sent, so there is no upload wait.
Why is my GIF bigger than the video?
A video stores what changes between frames. A GIF stores each frame as a picture. Cut the length, drop the width, or lower the frame rate.
What frame rate should I use?
Start with 12. 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, which fakes 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 converted, 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