GIF files are deceptively large. A 5-second video at 1080p might be 2 MB as an MP4, but converting it to GIF without optimization produces a 40-80 MB file. Most platforms reject GIFs over 10-15 MB (Slack, Discord, Twitter). Understanding why GIFs are so large helps you control the output size.
Why GIFs are so much larger than video
Video codecs (H.264, H.265) use temporal compression: they store only the differences between frames. If the background does not change, the codec encodes it once and references it in subsequent frames. This is extremely efficient.
GIF has no temporal compression. Every frame stores a complete image (with optimizations for unchanged regions, but they are primitive compared to video codecs). Additionally, GIF is limited to 256 colors per frame, which means the encoder must dither (add noise patterns) to simulate colors outside the palette. This dithering adds visual complexity that resists compression.
The result: a 5-second clip at 30fps and 1080p resolution stores 150 full frames, each approximately 200-400 KB after LZW compression. Total: 30-60 MB.
The three levers that control GIF size
Resolution: The single most effective way to reduce GIF size. A 1080p GIF has 4x the pixel data of a 540p GIF. Most GIFs on the internet are 480px wide or smaller. For chat applications and social media, 320-480px width is standard. Reduce resolution first.
Frame rate: Video typically runs at 24-60fps. GIFs do not need this. 10-15fps looks smooth enough for most content. Reducing from 30fps to 10fps cuts the file size by roughly 66% because you store one-third the frames.
Duration: Shorter clips make smaller GIFs. A 2-second GIF is more impactful and more shareable than a 10-second one. Trim to the essential moment before converting.
Color count and dithering
GIF supports a maximum of 256 colors per frame. For content with a limited color palette (screen recordings, animations, graphics), 256 colors may be sufficient with no dithering needed.
For photographic or video content (live action, nature, people), 256 colors is not enough to represent smooth gradients. The encoder uses dithering to approximate missing colors by arranging dots of available colors in patterns. Different dithering algorithms produce different results:
No dithering: Flat color bands where gradients should be. Small file size. Looks posterized. Floyd-Steinberg dithering: Spreads the color error to adjacent pixels. Natural-looking but adds detail that increases file size. Ordered dithering: Creates a structured dot pattern. Retro aesthetic. Moderate file size.
For most video-to-GIF conversions, Floyd-Steinberg dithering at 256 colors is the default and usually the best compromise.
Target sizes for different platforms
- Slack: 10 MB recommended maximum
- Discord (free): 10 MB limit (25 MB with Nitro)
- Twitter/X: 15 MB for GIFs
- Reddit: 20 MB practical limit
- Email: 1-2 MB for inline display (larger GIFs may not load in email clients)
- GitHub: 10 MB for README/issue GIFs
For most uses, aim for under 5 MB. This ensures fast loading on any connection speed and works everywhere. The MediaBrew GIF conversion tool lets you set width (recommend 480px or smaller), frame rate (10-15fps), and trim length. It generates an optimized GIF with dithering, processing entirely in your browser.