Skip to main content

Compress GIF

Make a GIF smaller by dropping frames, cutting the palette and scaling down — the three levers that actually work. Set a size limit and the page keeps trying until it fits, in your browser.

  • No upload
  • Batch files at once
  • Free, no sign-up

100% Local in Browser — No Server Upload, Instant & Private

Drop your files here, or click to choose

GIF, WebP, PNG or JPG up to 25MB. An animated GIF is compressed as an animation: frames and delays are preserved unless you ask for frames to be dropped.

Presets

How it works

  1. 1

    Drop the GIF and set a target

    Type a limit in MB — 9.5 fits Discord's free 10MB cap — or leave it empty and just take the smallest sensible result. Nothing is uploaded; the file is read from disk into the tab.

  2. 2

    Choose the lever

    Dropping every second frame halves the frame count and doubles each remaining delay, so the clip plays at the same speed. Cutting to 64 colours often removes a third of the bytes. Scaling to half the pixels removes three quarters of them.

  3. 3

    Check and download

    The result row shows frames, colours and final size, so you can see which lever did the work. If it still does not fit, the page says so instead of handing you a file over the limit.

More tools

What it won't do

  • Compressing is re-encoding: a GIF that is already optimised can come out slightly larger. The size is shown before you download, so compare rather than assume.
  • Dropping frames changes the motion — a fast animation starts to stutter. The delay is doubled to keep the running time, but not the smoothness.
  • Colour reduction uses one palette for the whole file: a clip that changes scene sharply can show banding in gradients.
  • Everything runs in your tab, so a very large animation (hundreds of frames, full resolution) is bounded by your device's memory.

Questions

How do I get a GIF under Discord's 10MB limit?

Pick the Discord 10MB Limit preset and press Compress. The page retries with fewer colours and then a smaller canvas until the file fits, and tells you the final size. If it cannot get there, the message says which lever to pull further instead of returning a file that Discord will reject.

How do I make a GIF under 256KB for an emoji?

Discord's animated emoji cap is 256KB (and 128×128 is the size it renders). Use the Discord emoji preset — 128×128, 64 colours — and drop every second frame if it still does not fit. Emoji are small and flat, so 64 colours usually looks identical to the original.

Does dropping every second frame change the speed?

No. Each kept frame inherits the delays of the frames it replaced, so the total running time is unchanged and the clip plays at the same speed — it just moves in bigger steps. That is why this lever comes before shrinking the image.

Is it better to reduce colours or resolution?

Depends on the picture. Flat artwork, screencasts and emoji survive a 64-colour palette with almost no visible change, so cut colours first. Photographic or gradient-heavy clips band quickly, and scaling to half size is the better trade.

Why is my compressed GIF bigger than the original?

The source was probably already re-encoded by another tool, and rebuilding the palette from scratch costs bytes. Try a lower colour count, or compress the original rather than an already-compressed copy.

Are my files uploaded?

No. There is no upload step: decoding, re-encoding and the size check all happen in the browser. That is why the page can tell you immediately whether a target size is reachable.