Back to the compressor

Field guide

GIF size reduction: frames, color and timing

Two animations with the same width can have very different byte sizes. This guide explains the measurable choices behind that difference and how to make them deliberately.

Start with the source, not a preset

Look at dimensions, frame count, duration, estimated FPS and colors first. A screen capture with a static background has many repeated pixels; a camera clip with grain does not. The first type usually benefits from palette reduction, while the second often benefits from fewer frames.

Keep the original file until the downloaded result has been checked. Re-encoding a reduced animation several times compounds palette and timing loss.

Choose a motion target

Frame rate is a storage decision as well as a playback decision. High-rate sources are sampled at even intervals, so motion remains evenly paced. Slow sources keep a minimum of 2 FPS so the output does not silently become a still.

For chat previews, lower FPS in small steps and watch faces, cursor movement and text transitions. If movement feels abrupt, restore FPS before cutting more colors.

Spend colors where they matter

GIF palettes are limited. Fewer colors work well for logos, stickers and flat UI screens, but can create banding in skies or skin tones. Higher settings retain more palette and spatial detail; Smallest is better reserved for simple graphics or a strict upload limit.

Denoise can reduce camera grain before palette generation. Use it gently: too much smoothing erases small text and hair.

Know what recovery can do

Malformed frame data is sometimes recoverable. Frames that cannot be decoded may be skipped and the remaining sequence rebuilt. This helps with partial downloads and exports containing an isolated bad frame.

Recovery is best-effort, not reconstruction. If the file is truncated before its final frames, those missing pixels are unavailable and the output may be shorter.

Verify the exported file

Use the result page as a hand-off report: compare byte size, dimensions, duration and FPS, then play the complete loop. Check gradients, faces, thin lines and fast direction changes.

If the file is still too large, change one variable at a time. Lowering FPS usually preserves edges better than aggressively reducing the palette; lowering dimensions is strongest when the destination displays a small preview.

Ready to inspect your own animation?

Upload a GIF and use the measured source values to choose a sensible first pass.

Open the tool