What Is GIF Frame Rate?
FPS (frames per second) is the number of individual images displayed each second in an animation. Unlike video standards (24/30/60 fps), GIF frame rates are flexible — each frame can have its own delay value. Typical GIF frame rates range from 5 to 20 fps, with 10 fps being the most common default.
The GIF specification stores frame timing as a delay in centiseconds (hundredths of a second). For example, 10 fps uses a 10-centisecond delay between frames, while 20 fps uses a 5-centisecond delay. This per-frame timing is stored in the Graphics Control Extension block of each frame.
The Core Tradeoff: Smoothness vs File Size
The relationship between FPS and file size is approximately linear: doubling the frame rate roughly doubles the number of frames, which roughly doubles the file size. This makes FPS the second most impactful setting after resolution for controlling GIF size.
| FPS | Frames (5 sec) | Approx Size (480px) | Motion Quality |
|---|---|---|---|
| 5 fps | 25 | ~0.8 MB | Choppy, slideshow |
| 8 fps | 40 | ~1.3 MB | Noticeable steps |
| 10 fps | 50 | ~1.6 MB | Good balance |
| 15 fps | 75 | ~2.5 MB | Smooth |
| 20 fps | 100 | ~3.3 MB | Near-video |
| 30 fps | 150 | ~5 MB | Video-smooth (overkill) |
FPS Recommendations by Content Type
| Content Type | Recommended FPS | Why |
|---|---|---|
| Simple logo animation | 5–8 fps | Few elements moving, smoothness not critical |
| Screen recording / UI demo | 8–12 fps | Cursor movement needs some fluidity |
| Standard web GIF / meme | 10–12 fps | Best balance of quality and size |
| Social media post | 12–15 fps | Slightly smoother for attention |
| Fast-action / sports clip | 15–20 fps | Fast motion needs more frames |
| Never recommended | 24–30 fps | Massive files, no real benefit over 20 fps |
Rule of thumb: Start at 10 fps. If the motion looks too choppy, try 12 or 15. If the file is too large, drop to 8. Going above 20 fps has diminishing returns — file sizes keep growing linearly but visual improvement becomes negligible.
How GIF Frame Delays Work
The GIF format stores timing as a delay per frame measured in centiseconds (1/100th of a second):
- 10 fps = 10 centisecond delay (100 ms between frames)
- 20 fps = 5 centisecond delay (50 ms between frames)
- 50 fps = 2 centisecond delay (20 ms — minimum practical)
Browsers handle very short delays inconsistently. Delays below 2 centiseconds are often clamped to a minimum of 10 centiseconds in Chrome and Firefox, causing the GIF to play at 10 fps regardless of the intended speed. Always keep frame delays at 3 centiseconds (33 fps) or higher for consistent playback.
Speed Control: Faster and Slower GIFs
You can control perceived speed independently from frame rate:
- 2x speed: halves the PTS (presentation timestamp) values, making the clip play twice as fast while keeping the original frame count. The GIF appears snappy and energetic.
- 0.5x speed: doubles the PTS values, creating a slow-motion effect. Works best with higher FPS sources (15+ fps) so the slow-down still looks smooth.
In FFmpeg, use the setpts filter: setpts=0.5*PTS for 2x speed, setpts=2*PTS for half speed. Combine with appropriate FPS settings for the best result.
Practical File Size Examples
The same 5-second video clip at 480px width, 256 colors, Sierra2 dithering:
| FPS | Frames | Approx File Size | vs 10 fps |
|---|---|---|---|
| 8 fps | 40 | ~1.3 MB | -20% |
| 10 fps | 50 | ~1.6 MB | baseline |
| 15 fps | 75 | ~2.5 MB | +50% |
| 20 fps | 100 | ~3.3 MB | +100% |
| 30 fps | 150 | ~5.0 MB | +200% |