Compress GIF Files

Make an animated GIF smaller while it stays a GIF. Cut colours, pixels or frames, in that order of pain, and watch the size drop with each pass.

The converter is ffmpeg compiled to WebAssembly. It downloads once (30 MB) when you pick your first file, then stays in your browser cache.

Fewer colors is the biggest lever, and 128 is usually invisible in motion. Scale and frame rate cut further when you need more.

Your file is processed by your own browser and never uploaded. The engine itself is a one-time 30 MB download the first time you use it, and after that it comes out of your browser cache.

How to use GIF Compressor

  1. 1Drop your .gif onto the box above, or click to pick one.
  2. 2Start with the defaults, which halve the palette. Add scaling or a frame-rate cap below if you need it smaller.
  3. 3Compare sizes in the row, adjust, and apply again until it fits where it needs to go.

Three levers, in order of pain

A GIF's size is colours times pixels times frames, roughly speaking, and this tool exposes exactly those three multipliers. The palette cut is where to start: GIF allows 256 colours, most animations use that headroom carelessly, and 128 colours with a well-built palette is close to indistinguishable in motion. The default pass does just this, and for many files it is all that is needed.

When it is not, scale is next. Reducing dimensions to 75 percent removes almost half the pixels; 50 percent removes three quarters. Chat windows and comment threads display GIFs small anyway, so the pixels you shed were often never seen. The frame-rate cap is the last resort because it is the most visible: 15 fps still reads as motion, 10 reads as economical.

Why the palette is rebuilt, not just truncated

Naive compressors keep the GIF's existing palette and drop entries, which posterizes whatever those entries were doing. This tool re-watches your actual frames and builds a fresh palette of the target size weighted toward the colours that matter, then re-maps every frame with ordered dithering. The result at 128 colours routinely looks better than a lazy tool's output at 256.

Knowing when the format is the problem

There is a floor under all of this: a long, high-motion GIF is expensive because GIF was never meant for that job. If the destination accepts video, converting beats compressing by an order of magnitude, and takes one click on our GIF to MP4 page. A GIF compressor earns its keep where the file must stay a GIF, which usually means forums, READMEs, documentation and anywhere else that treats animations as images. For those places, this page runs the whole job locally in your browser, shows you the cost of each lever before you commit to it, and never sends your file anywhere.

Frequently asked questions

How does compressing a GIF even work?
By re-encoding it with less of the three things GIF spends bytes on, colours per palette, pixels per frame, and frames per second. The default pass drops the palette from 256 to 128 colours, which on most GIFs is barely visible and saves real weight. Scaling and frame-rate caps go further; each is a visible trade, which is why they are separate controls rather than one magic slider.
Which setting should I reach for first?
Colours, then scale, then frame rate. The palette cut is the gentlest per byte saved, and photographic GIFs often survive 64 colours better than expected. Scale is quadratic, so 75 percent size means almost half the pixels. Cap the frame rate last, because choppier motion is the change people notice most.
Why is my GIF still huge after compressing?
Some GIFs have nothing cheap left to give, usually because they are long, large and full of motion. When the levers here are not enough, the honest answer is that the content has outgrown the format. Converting to MP4 shrinks a heavy GIF by 80 to 95 percent, and our GIF to MP4 page does exactly that, if the destination can take a video.
Does compressing lose quality permanently?
Yes. Colours removed from the palette do not come back by re-encoding at 256 later, and downscaled pixels stay downscaled. Keep the original if it matters. The output has a -compressed suffix precisely so it cannot overwrite your source.
Is my GIF sent to a server?
No. All of it, palette analysis included, runs in your browser with ffmpeg compiled to WebAssembly. The file never leaves your device.

More free tools