The complete guide to GIFs: making, optimizing, and using them well
GIF is a genuinely old, inefficient format that happens to have won on universal support. Understanding why it behaves the way it does makes every setting on a GIF tool make sense.
Why GIFs are so much bigger than the video they're made from
A GIF is limited to 256 colors per image — total, across the whole frame. Modern video codecs use color spaces with millions of possible values and compress across frames (only storing what changed from one frame to the next). GIF does neither: each frame is quantized down to a 256-color palette, and by default a naive GIF stores close to the full frame's worth of color data every single time, with only a general-purpose compression pass (called LZW) on top. That combination — small palette, limited inter-frame compression — is why a five-second GIF can end up larger than a much longer video of the same content.
Why some GIFs are much smaller than others of the same length
Well-optimized GIFs get their savings from a feature most casual tools don't use: instead of redrawing the entire frame every time, later frames can update just the rectangle of pixels that actually changed, and mark everything else "keep whatever was already there." A GIF of a mostly-static screen with a small animated element — a spinner, a cursor, a chat bubble — only needs to re-encode that small moving region each frame, not the whole canvas. This is the single biggest lever in GIF file size, bigger than palette size or frame rate, and it's exactly what a dedicated "optimize this GIF" pass targets on an already-made file.
The settings that actually matter, in order of impact
Frame rate first — most motion reads as smooth at 10-15fps, and going from 24fps down to 12fps roughly halves the number of frames that need encoding for the same duration. Dimensions second — a GIF displayed at 400px wide doesn't need to be encoded at 1200px; scale down to its actual display size before anything else. Color count third — dropping from 256 to 128 or 64 colors is barely visible for most content (screen recordings, illustrations, UI demos) and meaningfully shrinks the file, though it does show as visible banding on smooth photographic gradients. Clip length last only because it's obvious, but it's still worth stating: every extra second is more frames, so trim tightly before converting rather than after.
Loop count: forever isn't always right
GIFs carry their loop count as a real, specific number in the file itself — not just a player setting. A value of zero means loop forever, which is the right default for a reaction GIF or a UI demo where the viewer might glance at it at any point. But for something like a before/after comparison or a multi-step process, a GIF that loops forever can feel like it's stuck repeating at the viewer, where a fixed number of plays (or none at all past the first) reads as a deliberate ending instead.
When a GIF is the wrong choice entirely
If the platform you're sharing to actually supports embedded video (most modern chat apps and social platforms do), an actual video file is almost always both smaller and higher quality than a GIF of the same clip — GIF's real advantage is only that it plays automatically and loops without a play button in places that don't support video embeds at all, like older forum software, some email clients, or a raw markdown README. If you have the choice, a short muted MP4 or WebM usually beats a GIF outright; reach for GIF specifically when the destination needs it to "just be an image."
Adding text or stickers without hurting file size
Text and simple graphic overlays compress well in GIF's palette-based format because they're usually flat, solid colors — the opposite of the smooth gradients and photo noise that GIF struggles with. A caption or emoji sticker baked into a GIF adds relatively little to the file size compared to, say, increasing the color count or frame rate, which makes it one of the cheaper ways to add value to a GIF without a real size cost.
Making a new GIF from a video? Convert video to GIF lets you set frame rate, size, and add text or stickers before exporting. Already have a GIF that's too big? Optimize an existing GIF to resize it, cut its color count, drop frames, or set its loop count.