Skip to main content

GIF Compressor

GIF Compressor

Reduce animated GIF file sizes for Discord, Slack, and web sharing.

Drop GIF image(s) here

or click to browse • Up to 50 GIF files

Max 100MB per fileUp to 50 files

How to Compress Animated GIFs

How to Use GIF Compressor

  1. 1

    Upload Animated GIF

    Drop your GIF file into the workspace.

  2. 2

    Configure Optimization

    Set the lossy budget (0-160), the palette limit (16-256 colours), the optimisation level, and any resize.

  3. 3

    Compress & Download

    Download your optimized lightweight animated GIF.

What GIF Compressor Can Do

  • WASM Gifsicle Engine

    Industry-standard Gifsicle optimizer compiled to WebAssembly, running on the GIF bytes themselves so the animation survives.

  • Frame-Difference Optimisation

    Level 3 stores only what changes between frames, which is where most of the saving on an animation comes from.

  • Lossy Budget

    Allows Gifsicle to reuse near-identical colours between frames so runs compress further. Higher means smaller and grainier.

  • Color Palette Reduction

    Drop from 256 colours to 128, 64, 32 or as low as 16 to cut the colour table and the bytes with it.

  • Discord & Social Sizing

    Compare the result against the limit you need, such as Discord’s 20 MB free upload limit, and adjust the settings until it fits.

Tools & Settings Reference

Lossy Budget (0 - 160)
How much colour error Gifsicle may introduce to compress further. Higher is smaller and grainier; 0 disables it.
Color Palette (16 - 256)
Caps the colour table. Fewer colours means fewer bytes, and dithering on flat areas.
Optimisation Level (1 - 3)
Level 3 writes only inter-frame differences, level 2 also uses transparency, level 1 is basic. Lossless — it never touches how the frames look.
Resize Fit
Scales GIF dimensions to reduce resolution.

Frequently Asked Questions

Keep the Optimisation Level at 3, then raise the Lossy Budget a step at a time and reduce the colour palette to 128 or 64 colours, checking the size after each pass. If it is still too big, resize the dimensions down: an animation stores every frame, so halving the width and height removes about three quarters of the pixels in every one of them. The animation and its timing are kept throughout.

They are two independent Gifsicle features and it matters which one you reach for. The Optimisation Level is lossless: at level 3 Gifsicle stores only the pixels that change from one frame to the next, so a GIF with a static background shrinks a great deal and every frame still looks exactly as it did. The Lossy Budget is not lossless: it lets Gifsicle nudge pixels onto colours their neighbours already use, so the compressor finds longer repeating runs. That is where the big reductions come from, and also where grain and dither speckle appear. Start with level 3 and no lossy, then raise the lossy value until the size fits.

There is no target-size mode for GIF, so it is a short loop rather than one setting: keep the optimisation level at 3, set the lossy budget somewhere around 80, and drop the palette to 128 colours. Check the resulting size against the limit, and if it is still over, either raise the lossy budget or resize the dimensions down — resizing removes pixels outright and is usually the bigger lever on a long animation. How much any of this saves depends entirely on the GIF, so the number on screen after each pass is the only reliable guide.

Yes. Gifsicle works on the GIF file itself, frame by frame, so every frame and its timing survives — this is not a canvas re-draw that would flatten the animation to a single still image. Each result lists the frame count it ended up with, and the split view shows the before and after counts together, because two GIFs playing side by side loop independently and cannot be judged by eye.