GIF Compressor - Reduce GIF File Size Online
Compress animated GIFs in your browser by reducing colors, frame rate, and dimensions. Two-pass FFmpeg encoding, no upload.
Height scales automatically to keep the aspect ratio.
Dithering hides color banding in gradients but adds noise that compresses worse.
Shrink an animated GIF without losing the animation. Pick a scale, a frame-rate cap, a palette size, and optional dithering, then a two-pass FFmpeg encode (palettegen plus paletteuse) rebuilds the file with an optimized color palette. Compare original and compressed side by side, see the exact bytes saved, and download the result. The whole pipeline runs in WebAssembly on your machine.
GIF is an old format with no real compression tuning: every frame stores indexed pixels against a palette of at most 256 colors, so the only reliable ways to make a file smaller are fewer pixels, fewer frames, and fewer colors. This tool exposes exactly those three levers. Scale resizes the image to 75, 50, or 25 percent of its original width (height follows automatically), the frame-rate cap drops frames above 15, 10, or 8 FPS, and the color setting limits the palette to 128, 64, or 32 entries instead of the full 256.
Quality is preserved by a two-pass FFmpeg encode running in WebAssembly. The first pass scans the whole animation and generates a palette tuned to the actual colors in your GIF (palettegen). The second pass re-encodes every frame against that palette (paletteuse), which looks noticeably better than naive quantization. Dithering is optional: ordered Bayer dithering smooths gradients at the cost of visible noise and slightly larger files, while turning it off produces flat color regions that compress better.
After encoding you get a side-by-side preview of the original and compressed animation, the before and after sizes, and the percentage saved, so you can judge whether the quality trade-off is acceptable before downloading. One caveat: WebAssembly is slower than native FFmpeg, so GIFs above roughly 15 MB can take a minute or more to process.
- 1
Upload a GIF
Choose a .gif file from your device. It loads into browser memory and a preview appears; nothing is sent to a server.
- 2
Pick compression settings
Set the scale, maximum frame rate, palette size, and whether to apply dithering. Your choices are remembered for next time.
- 3
Compress and download
FFmpeg runs a two-pass encode in WebAssembly. Compare the original and compressed previews, check the bytes saved, and download the result.
Fit forum and chat upload limits
Discord, Slack, and most forums cap attachments around 8 to 10 MB. Drop the palette to 64 colors and scale to 50 percent to get under the limit.
Speed up documentation pages
Screen-recorded GIFs in READMEs and docs are often 20 MB plus. Capping the frame rate at 10 FPS usually halves the size with no readability loss.
Lighten email signatures and newsletters
Email clients load images slowly over cellular connections. A 25 percent scale and 32-color palette turns a multi-megabyte GIF into a quick-loading one.
Prepare GIFs for website embeds
Large GIFs hurt page load metrics. Compress hero or tutorial animations before embedding so Largest Contentful Paint is not dominated by one image.
Is my GIF uploaded anywhere?
No. The file is read into browser memory and FFmpeg runs locally as WebAssembly. The GIF never leaves your device, and closing the tab discards everything.
How much smaller will my GIF get?
It depends on the source. Reducing colors from 256 to 64 typically saves 30 to 50 percent, halving the frame rate saves up to half again, and scaling to 50 percent width cuts pixel count by 75 percent. Combined savings of 70 to 90 percent are common.
Why does compression take so long on big files?
FFmpeg here is compiled to WebAssembly, which runs slower than the native binary and processes the animation twice (palette generation, then encoding). Files over about 15 MB can take a minute or more; very large GIFs may exhaust browser memory.
Should I turn dithering on or off?
Keep it on for photos, gradients, and screen recordings with shadows: it hides color banding. Turn it off for flat illustrations, logos, and pixel art: you avoid noise and the output compresses better.
Does this work with animated WebP or APNG files?
No, the input must be a .gif file. To create a GIF from a video, use the Video to GIF tool on this site first, then compress the result here if needed.