Projector throwing a beam through haze, the same loop over and over

All tools / GIF Maker

GIF Maker.

A GIF maker that tells you the file size before you export.

→ Open the gif makerFree, no account, and your video is never uploaded

How it works.

Turn a few seconds into a GIF that loops.

  1. Step 1

    Drag your video in

    Or click to choose a file. It stays on your device.

  2. Step 2

    Set the range and the look

    Drag the two handles, then set the size and the look.

  3. Step 3

    Save the GIF

    One click, and it downloads.

In detail

Drop a clip, mark the moment, and make it loop. The difference here is the number: the size of the GIF you are about to make, updated as you move every control, next to a real animated sample so you can see the colour count and the dithering rather than reading about them. Platform tags say straight out whether it clears Discord, GitHub, Twitter, and Reddit. It all runs in your browser, so nothing is uploaded and nothing comes back stamped.

What it gives you.

  • The size, before you export

    The estimate is not a formula. It encodes two dozen real frames spread across your range with the exact settings you picked, measures them, and scales the per-frame cost up. That makes it accurate within a few percent on real footage, and the export tells you the delta so you can judge it yourself.

  • See the dithering, not a description of it

    Next to the number is a live animated GIF of those sample frames. Cut to 32 colours and you watch the banding arrive. Switch to Floyd-Steinberg and you watch it break up into grain. No other tool shows you this before the export.

  • Everything that moves the number

    Frame rate from 10 to 24, width from 320 to your source, 256 down to 16 colours, three dithering modes, one global palette or one per frame, loop forever or once, and 1x to 2x speed. Chips above what your source can do are disabled with the reason.

  • Platform limits, named

    Discord 10 MB, GitHub 10 MB, Twitter 15 MB, Reddit 100 MB, each reading fits or over against the live number. No guessing, and no discovering the limit after the upload fails.

  • Runs in your browser

    The decode, the quantising, and the GIF encoder all run here, in a worker, on your machine. A file you cannot legally hand to a stranger is a file you can still turn into a GIF.

  • No watermark

    Not on a free tier, because there is no other tier. GIFs are for posting, and a stamped corner defeats the point.

Straight answers.

Is there a free GIF maker with no watermark and no upload?

This one. The frames are decoded by the same video decoders your browser uses to play video, quantised and dithered here, and written out by a GIF encoder that runs on this page, so the file never leaves your machine and there is nothing for a watermark to pay for. There is no account and no queue. The only thing it asks of you is a range short enough to be a GIF, and it shows you the size so you can tell.

Why are GIF file sizes so unpredictable?

Because GIF compresses each frame by finding runs of the same palette index, and nothing else. It has no motion compensation, so a GIF cannot say this frame is nearly the last one; every frame pays close to full price. Flat graphics compress enormously and camera footage barely compresses at all, so grain, a handheld wobble, and a busy background all multiply the size while the duration and resolution stay the same. Dithering makes it worse, on purpose, because it replaces flat areas with texture. Two clips of the same length and size can differ tenfold, which is exactly why this tool measures rather than predicts.

Which dithering should I pick?

Ordered, unless you have a reason. It lays a fixed 4x4 crosshatch over the picture, which is stable from frame to frame, so it does not crawl or shimmer while the animation loops, and it compresses better than error diffusion. Choose diffusion (Floyd-Steinberg) for a single-subject clip with smooth gradients, like a sunset or a face against a plain wall, where the grain looks better than the crosshatch and the crawling does not show. Choose none only for flat graphics, screen recordings of text, or cartoons, where there is nothing to dither and the bands are actually the right answer: it is also the smallest file of the three by a wide margin.

Why only 256 colours?

Because the format was finalised in 1989 and stores one byte per pixel pointing into a colour table of at most 256 entries. There is no 24-bit GIF. That is why quantising matters: your clip has thousands of colours and something has to choose which 256 survive. A global palette picks one set for the whole animation, which keeps the file smaller and stops colours shifting between frames; a per-frame palette gives each frame its own 256, which looks better on a clip that changes scene and costs real bytes. Dropping to 64 or 32 colours is the single most effective way to shrink a GIF, and on footage with dithering on it often costs less than it sounds like it should.

What are the actual platform size limits?

Reddit takes GIFs up to 100 MB, which is by far the most generous. Twitter caps GIF uploads at 15 MB. Discord stops at 10 MB on the free tier, 50 MB with Nitro Basic and 500 MB with Nitro. GitHub allows 10 MB for images and GIFs in issues and pull requests. Slack allows up to 1 GB per file, so it is effectively never the constraint. The tags under the size readout check your number against the four that actually bite, and they update as you change settings.

When is a looping MP4 the better choice?

Most of the time, honestly, if the destination supports it. An MP4 with H.264 inside is five to twenty times smaller than the same clip as a GIF, carries real colour instead of 256 entries, and every social platform autoplays and loops it. Use a GIF when the destination will not take video: a GitHub issue or pull request comment, a README, an email, some wikis and documentation systems, or a chat where you want the thing to move without a click. That is a real and common set of places, which is why this tool exists, but if you are posting to Twitter or Discord and just want a short loop, upload the MP4 and let the platform loop it.

Is there a length limit?

Not a hard one in seconds, but there is one in frames: 1200, which is 100 seconds at 12 frames per second or 50 at 24. Past that the encode takes long enough to feel broken and the file is too big for anywhere. In practice a GIF stops being a good idea somewhere around ten seconds, and the size readout will tell you that faster than any rule could.

Other tools