🗜️
Creator & Video/GIF Compressor

GIF Compressor

Shrink GIFs with two-pass palette optimization — fewer colors, lower fps, smaller width. 100% in-browser.

LOCAL · FFMPEG.WASMUp to 95% off3 presetsBefore/after100% local
🗜️
Drop a GIF here, or click to browse
.gif (max 50 MB)
🗜️

Drop a GIF, pick a preset, and shrink it with two-pass palette optimization

Data Source & Legal Disclaimer
Effective: 2026Last updated: TodayUpdate: Manual review
Sources: ffmpeg.wasm — Browser-based media processing

GIF compression runs entirely in your browser using ffmpeg.wasm. Your file is never uploaded to any server.

See all data sources & update policy →

Where GIF size actually comes from — illustrated

A GIF stores every frame as palette indices for full pixels — there is no inter-frame video compression. Size therefore scales with width × height × fps × seconds, capped by the palette: a 256-color palette spends 8 bits per pixel, while 64 colors needs only 6. This tool attacks all three levers at once in two passes: pass one builds an optimal palette (palettegen) from the downsampled, decimated frames; pass two re-maps every frame to it (paletteuse). Dropping 30 fps screen-capture footage to 15 fps alone halves the frame count; adding 320 px width and 64 colors typically cuts 80–95% off.

fps + width decimation → palettegen (N colors) → paletteuse re-map
Input GIFevery frame = fullpixels + 8-bit indexDecimate + scalefps 30→15: −50% frames640→480 px: −44% pxpalettegenpick N best colors64 / 128 / 256paletteusere-map frames→ smaller GIFsize ≈ width × height × fps × seconds — every lever multipliesfewer colors = shorter index = smaller bytes, at the cost of gradient banding

GIFs lack inter-frame compression, so fewer frames, fewer pixels, and fewer colors are the only real levers.

Slack-ready bug report GIF — Tom's capture

Tom captures a 6-second UI bug at 30 fps, 800 px wide, and the GIF comes out at 9.2 MB — too big for Slack's inline preview.

  1. Diagnose the size:800 px × 30 fps × 6 s of full-pixel frames is the whole problem — GIF has no inter-frame compression, so nothing else in the file matters as much
  2. Pick Balanced:15 fps + 480 px + 128 colors: frame count halves (30→15) and pixel area drops to (480/800)² = 36% of the original
  3. Two-pass compress:palettegen studies the decimated frames and picks 128 colors; paletteuse re-maps every frame — the result card shows the real saving computed from the two file sizes
  4. Check readability:He zooms the preview to confirm the error text is still legible at 480 px; if it were not, the Light preset (640 px, 256 colors) is one click away
↩ Back to compressor

About this tool

What is this tool?

Compress GIFs up to 95% with two-pass palette optimization. In-browser, free.

Up to 95% off3 presetsBefore/after100% local

What Is the GIF Compressor?

The GIF Compressor shrinks animated GIFs with three presets that combine frame-rate decimation (10/15/20 fps), width scaling (320/480/640 px), and palette reduction (64/128/256 colors) using ffmpeg's two-pass palettegen + paletteuse pipeline. It shows the real before/after sizes and the computed saving. All local via ffmpeg.wasm.

How to Compress a GIF

Drop your GIF, pick a preset (Aggressive for chat, Balanced for most uses, Light when readability matters), and click Compress. Compare the two previews, then download — the savings percentage is computed from the actual file sizes.

Frequently Asked Questions

Why are GIFs so large in the first place?

GIF stores every frame as full pixels with palette indices — there is no inter-frame video compression. Size scales with width × height × fps × seconds, so a 6-second 30 fps 800 px capture can easily reach 9 MB.

How does the compression actually work?

Two passes with ffmpeg: palettegen studies the decimated frames and picks the best 64/128/256 colors, then paletteuse re-maps every frame to that palette. Before that, frames are decimated to a lower fps and scaled to a smaller width — each lever multiplies the savings.

Will compression make my GIF look bad?

Lower fps can make motion less smooth and fewer colors can band gradients, but text-heavy and flat-color UI captures tolerate aggressive settings extremely well. Compare the before/after previews and step up to the Light preset if readability suffers.

Related tools

Joke of the Day
Sep 7

Why did the elephant paint its toenails red?

100% Free, Forever

Keep Tools Free for Everyone

No paywalls, no signups, no data sold. Built by a solo developer who believes useful tools should be accessible to everyone.

Support me on Ko-fi— keep tools free

100% of proceeds go towards hosting & building more free tools.