A Format From 1987, Still Everywhere
GIF predates the web. It was designed by CompuServe in 1987 for dial-up file transfer, and almost every one of its limitations comes from that context, including the one that matters most: a GIF can show at most 256 colours per frame.
That constraint is why a photographic video turned into a GIF looks banded and blotchy while a screen recording of an interface looks fine. Flat colours and sharp edges survive a 256-colour palette; skin tones and gradients do not, because the encoder has to approximate a continuous range with a fixed handful of entries.
Why the Files Get So Large
GIF has no interframe compression worth the name. Modern video formats store one full frame and then describe only what changed; GIF stores each frame close to whole. The result is that file size scales almost linearly with frame count, and a five-second clip is genuinely five times a one-second clip.
| Lever | Effect on size | Cost |
|---|---|---|
| Shorter duration | Proportional, halving the length halves the file | Less content. Usually the right trade. |
| Lower frame rate | Proportional, 10 fps is half of 20 fps | Visible choppiness below about 10 fps. |
| Smaller dimensions | Roughly with area, half the width is a quarter the pixels | Detail, especially in text. |
| Fewer colours | Modest | Banding on gradients. |
The order of that table is the order to try things in. Trimming a second off the clip almost always costs less than dropping the frame rate to the point where motion stutters, and both are gentler than shrinking dimensions until text becomes unreadable.
Animated WebP Is Usually the Better Answer
Everything above is a description of a 1987 format, and it has a straightforward modern answer. WebP animates, holds full colour instead of 256, and compresses between frames the way GIF never could. Every browser that matters displays it: Chrome since 32, Firefox since 65, Safari since 16, which is about 96% of people by usage.
The difference is not marginal. Encoding the same clip both ways here, a screen-recording style animation came out 242 KB as a GIF and 56 KB as a WebP; a gradient-heavy one, where the palette hurts most, went from 967 KB to 108 KB. Four to nine times smaller, and without the banding, because there is no palette to quantise into.
So WebP is the default in the tool above, and the palette and dithering controls disappear when it is selected: both exist only to work around a limit WebP does not have. Choose GIF where the destination refuses anything else, which is the one thing GIF is still reliably better at.
When Not to Use Either
For anything longer than a few seconds, or anything photographic, a video file is smaller and better-looking by a wide margin. The same clip as MP4 or WebM is frequently a tenth the size at higher quality, and both formats loop and autoplay silently in browsers, which was the only real advantage GIF had left.
Between the two formats offered here, GIF earns its place only where the destination accepts nothing else. That is a shrinking list, but it is not empty: some older forum software, some email clients, and a few chat platforms still reject WebP uploads outright.
Chat platforms complicate this further. Many convert an uploaded GIF into a video internally, so the file you carefully optimised is re-encoded on arrival and your optimisation affects upload time rather than what anyone sees.
Practical Settings
- Frame rate: 10–15 fps for a screen recording, 15–20 for motion that needs to look smooth. Below 10 the stutter becomes the thing people notice.
- Width: match where it will be displayed. A GIF shown at 500 px does not benefit from being 1200 px wide; it just costs four times the data.
- Duration: cut before and after the action. The single largest saving in most GIFs is the seconds at either end where nothing happens.
- Looping: a clip that starts and ends on the same frame loops without a visible jump, which is worth more than an extra second of footage.
Everything runs in your browser. The video you drop in is never uploaded, which matters for screen recordings that show internal tools, client data, or anything else you would not hand to a stranger's server, and it also means the conversion speed depends on your own machine rather than on a queue.