GIF Compressor

Shrink an animated GIF's file size by scaling it down, dropping frames, or both. Everything runs in your browser.

Click to choose a GIF, or drag and drop it here.

How it works

The GIF is decoded frame by frame in your browser (handling each frame's disposal method so the full picture is reconstructed correctly, not just the raw delta each frame stores on disk) and shown as a thumbnail strip, so you can spot and drop a redundant or broken frame before compressing (fewer frames means a smaller file). "Remove duplicate frames" does this automatically, comparing each frame to the one before it and merging any that are visually identical, gentler than dropping every Nth frame since it only removes what's actually redundant. Scaling and any frame edits are applied first, then the result is run through a real WebAssembly build of gifsicle, the same compression engine most GIF-compression websites run on their servers, for lossy compression and frame-difference optimization (storing only what changed between frames instead of every full frame).

Scaling down tends to save the most, a GIF at 50% width and height is roughly a quarter the pixel data. The lossy level trades a bit of visual noise for a smaller file, 0 keeps it visually lossless, 30–60 is a good balance, and values past 100 start showing real artifacts. Reducing colors caps the palette size, useful for GIFs that don't need a full 256 colors. Not sure what lossy level to pick? "Compare 3 quick size options" runs light, balanced, and aggressive compression at once so you can just pick whichever result looks good enough.

Common questions

What actually shrinks the file size?

Scaling the pixel dimensions down, dropping frames, and real gifsicle-powered lossy compression plus frame-difference optimization (storing only what changed between frames, plus an optional reduced color palette). Scaling down and the lossy level usually have the biggest effect.

Will dropping frames make the animation choppy?

A little, since fewer frames means less smooth motion. When you use "Keep frames" to drop every Nth frame, the remaining frames' display time is stretched to keep the overall animation length roughly the same, so it plays at a similar speed, just with less in-between motion. You can also remove individual frames by hand in the frame strip.

Is my GIF uploaded anywhere?

No, it's decoded, resized, and compressed entirely in your browser, including the gifsicle compression step, which runs as WebAssembly in a Web Worker.