Capturo

GIF compressor

Make a GIF small enough for Slack, Discord, email or a README. See the new size update as you change the settings. The file never leaves your device.

Drop a GIF here

Nothing is uploaded

How to reduce a GIF's file size

Drop the GIF above. The tool compresses it right away with balanced defaults and shows the size before and after, plus both animations side by side so you can judge the quality. Then adjust:

  • Width is the biggest lever. A GIF at half the width weighs roughly a quarter. If the GIF will be shown at 400 px in a chat, there is no reason to ship 1200 px.
  • Colors. GIF allows up to 256 colors. Screen recordings and illustrations often look identical at 64. Photos and gradients start to band below 128.
  • Frames. Dropping one frame in four, one in three, or every other frame cuts the size almost proportionally. The timing is preserved: the delay of each dropped frame is added to the previous one, so the animation runs at the same speed, just less smoothly.
  • Lossy. Treats pixels that barely changed between frames as unchanged. That removes video noise and dithering shimmer, which GIF compresses terribly. "Light" is nearly invisible; "Strong" is for camera footage that has to fit a hard limit.

What happens under the hood

The GIF is decoded frame by frame in your browser, every frame is rebuilt as a full image, and then it is encoded again with two tricks that most GIFs out there do not use. First, a single shared palette built from samples across the whole animation, instead of one palette per frame. Second, frame differencing: any pixel that looks the same as in the previous frame is written as transparent, and transparent runs compress to almost nothing. For a screen recording, where 90 percent of the screen does not move, that alone can halve the file.

No upload, and why that is the point

GIFs are often screen recordings: a bug in your app, a feature demo, a dashboard. Most online compressors upload them to a server and keep a copy for an hour or a day. This one runs entirely on your device with open source code, and works offline once the page has loaded. There is also no upload or download wait, which matters when the GIF weighs 40 MB.

Common size limits

Discord accepts GIFs up to 10 MB without Nitro. Slack shows inline previews comfortably up to a few MB. Many email clients clip or block messages over 1 to 2 MB in total. GitHub READMEs accept up to 10 MB per image, but a 2 MB GIF loads far faster for visitors. A good target for anything embedded in a page is under 1 MB.

When the result is not smaller

Some GIFs are already well optimized by tools like gifsicle. If the new file is not smaller, the tool tells you; lower the width or the colors and it will be. If you are starting from a video, it is better to go back to the source and make a lighter GIF directly with our MP4 to GIF converter: fewer frames and the right width from the start beat compressing afterwards.

Make lighter GIFs from the start

Capturo for Mac records your screen over a clean gradient background, and its Convert Video to GIF turns clips up to 45 seconds into a 960 px, 12 fps GIF that is already small. One-time $29.

See the Mac app

Common questions

How much can a GIF be compressed? +
It depends on the GIF. Screen recordings and UI demos usually shrink 40 to 80 percent, mostly from frame differencing and a smaller width. GIFs made from camera video shrink less unless you lower the width or drop frames.
Is the GIF uploaded to a server? +
No. It is decoded, compressed and re-encoded in your browser. You can disconnect from the internet after the page loads and it keeps working.
Does compressing a GIF lose quality? +
Fewer colors, a smaller width and dropped frames are all visible to some degree. Width and the light lossy setting are the least noticeable. Compare the before and after previews side by side before you download.
Will the GIF still loop and keep its speed? +
Yes. The compressed GIF loops forever and keeps the original timing, even when frames are dropped.
What about transparent GIFs? +
Transparency is kept. For GIFs with transparent areas the frame differencing trick is turned off, so they may shrink a little less.