Compress GIF Files Online and Shrink Animated GIFs in Seconds

Squeeze a GIF under a size like 256 KB or 10 MB, or pick the settings yourself, and keep the loop intact.

Free foreverNo uploadNo watermark

Drag & drop a GIF, or

Animated GIFs of any size

Mode
Compression

The default. On most GIFs the grain is hard to spot at normal viewing size.

Colors
Max width
Frames

Fewer colors, a smaller width or fewer frames shrink a GIF much more than compression alone.

Keep this tab open while it works. Big GIFs can take a few seconds.
Found this useful? Share it

Compress GIF files in your browser

My GIF compressor makes an animated GIF smaller without turning it into a different file. You can give it a target, like 256 KB for a Discord emoji or 10 MB for a chat upload, and it finds settings that land under it. Or you pick the compression level, colors, width and frames yourself. Either way you download a lighter GIF that loops the same way and runs just as long.

Under the hood the tool runs gifsicle, the open-source GIF optimizer by Eddie Kohler, compiled to WebAssembly. Your browser runs it in a background worker on your computer or phone, so you can reduce GIF size online without installing gifsicle or learning its command line.

How to compress a GIF

1.Add your GIF

Drag a GIF onto the tool or click to browse. It reads the size, frame count and running time right away.

2.Pick a size or the settings

Choose Fit under a size and pick 256 KB, 512 KB, 1 MB, 5 MB, 10 MB or your own number. Or choose the settings yourself, starting with Balanced.

3.Compare and download

The original and the compressed GIF play side by side with their sizes, so you can check the quality before you save it.

If a setting doesn't make your GIF any smaller, the tool tells you so and doesn't offer the bigger file as a download. You can change the settings and run it again on the same GIF as many times as you like.

How each setting reduces GIF size

A GIF stores every frame as a grid of indexed pixels, squeezed with LZW, a lossless method from the 1980s. LZW works well when long runs of pixels repeat and badly on noisy or detailed images. The four settings below shrink a GIF in different ways.

Compression level

The three levels set gifsicle's lossy mode. It lets the encoder swap a pixel for a close neighbor color when that creates a longer repeat for LZW to pack. You see it as fine grain or noise, mostly on gradients and camera footage. Light uses a lossy value of 30, Balanced 80 and Strong 140. Every level also runs gifsicle's frame optimizer, which stores only the part of each frame that changed.

Colors

A GIF frame can hold up to 256 colors. Dropping to 128 or 64 gives LZW fewer values to track and usually trims another chunk off the file. Screen recordings, UI demos, memes and flat illustrations often look identical at 64 colors. Footage of real scenes shows banding in skies and skin sooner.

Max width

Halving the width cuts the pixel count to a quarter, so width usually saves more than any compression level. It's also the change people notice most. A GIF that will sit inside a chat bubble or a 600px blog column gains nothing from being 1080px wide, though. The tool only lists widths smaller than your GIF.

Frames

Keeping every 2nd or 3rd frame removes a half or two thirds of the image data. I don't just delete frames, though. Each frame I keep takes over the delay of the frames dropped after it, so a 3-second GIF still runs 3 seconds instead of playing at double speed. Motion gets choppier, which matters for fast action and barely shows on slow pans, talking heads or reaction loops.

How much smaller will my GIF get?

It depends on the GIF, so I tested the settings on the sample GIF you can load in the tool: a 3-second, 480×270 clip with 36 frames that starts at 4.0 MB. Here's what each setting produced, so you can repeat any row yourself.

SettingsResultSaved
Light2.5 MB38%
Balanced1.9 MB53%
Strong1.6 MB59%
Balanced + 64 colors1.5 MB63%
Balanced + 360px wide1.1 MB74%
Strong + 64 colors + 360px + every 2nd frame343 KB92%
Balanced + 64 colors + 240px + every 2nd frame206 KB95%

Compression by itself took this GIF to about half its size. Getting under a tenth took a smaller width and fewer frames on top. I also ran a much bigger file, a 34.9 MB GIF at 800px wide with 120 frames, and Balanced brought it to 17.0 MB in about 5 seconds.

Compress a GIF to 10 MB, 512 KB or 256 KB

Most people compress a GIF because something rejected it: a chat app, a forum, a CMS or a Discord emoji slot. That's what the Fit under a size mode is for. Pick 256 KB, 512 KB, 1 MB, 5 MB or 10 MB, or type any size in KB or MB, and the tool works out the settings for you.

gifsicle can't aim at a file size by itself, so the tool runs it several times. It starts with the gentlest settings and only goes further when the GIF is still too big, in the same order I'd follow by hand:

  1. Compression. Light, then Balanced, then Strong.
  2. Frames. Every 2nd frame, with the timing kept so the GIF runs as long as before.
  3. Colors. 128, then 64.
  4. Width. Last, because it's the change you notice most. The tool measures the size it got and calculates the width that should fit, instead of stepping down blindly.

It skips steps that clearly can't reach the target, so most GIFs fit in 2 to 5 passes. It also aims about 2% under your number, so a site that counts bytes a little differently still accepts the file. Here's what it did with real GIFs:

StartTargetResultSettings it chose
4.0 MB, 480px, 36 frames1 MB843 KBStrong, every 2nd frame
4.0 MB, 480px, 36 frames512 KB442 KBStrong, every 2nd frame, 64 colors, 420px
4.0 MB, 480px, 36 frames256 KB242 KBStrong, every 2nd frame, 64 colors, 297px
34.9 MB, 800px, 120 frames10 MB7.3 MBStrong, every 2nd frame
34.9 MB, 800px, 120 frames5 MB4.6 MBStrong, every 2nd frame, 64 colors, 768px

After every run the tool lists the settings it used, so you can see what it gave up to hit the size. On the big GIF each pass takes around 5 seconds, so a tight target can take 20 to 30 seconds. If no setting gets under your number, which happens with very small targets, it tells you and offers the smallest version it made.

Compress a GIF for Discord

Discord is the most common reason people need a GIF under an exact size. Custom server emoji must be 256 KB or smaller, and server stickers have a 512 KB cap. Both show up small on screen, so a lower width costs you almost nothing there.

Pick Fit under a size, choose 256 KB for an emoji or 512 KB for a sticker, and let the tool find the settings. My 4.0 MB sample came out at 242 KB for the emoji size, still animated and still the full 3 seconds long. If you're sending a video clip in a channel instead of a GIF, the Discord video compressor is the better tool, since an MP4 keeps far more quality at the same size.

Why some GIFs barely get smaller

If a GIF already went through gifsicle, ezgif or a similar optimizer, most of the easy savings are gone, and another pass on Light or Balanced may save almost nothing. GIFs exported with heavy dithering are stubborn too: the scattered dots that fake extra colors break up the repeats that LZW depends on.

For those files, the settings that cut real data work better than compression. Lower the width, lower the colors or drop frames. Each one removes pixels instead of trying to pack the same pixels tighter.

When a GIF is the wrong format

GIF is an old format, and it's very inefficient for anything long or full of motion. The 34.9 MB GIF above came from 8 seconds of a 1280×720 MP4 that weighs 10.3 MB for its full 9 seconds. The GIF was smaller in resolution, shorter, and still more than three times heavier.

So if your GIF runs past 10 to 15 seconds, or you're posting it somewhere that plays video, an MP4 will look better at a fraction of the size. If that MP4 is still too heavy, my video compressor can bring it down to a set size. If you still have the source video, it's usually better to make a new GIF from it with a tight trim and a low frame rate in my MP4 to GIF converter than to squeeze a bloated GIF after the fact. I go deeper into this in why GIFs get so big.

Frequently asked questions

How do I compress a GIF?

Drop the GIF into the tool above, pick Light, Balanced or Strong, and press Compress GIF. Check the side-by-side preview, then download the smaller file.

Is this GIF compressor free?

Yes, free to use as often as you like. The GIF you download looks exactly like the preview, with nothing stamped on it.

Is my GIF uploaded to a server?

No. Your browser runs gifsicle on your own device, so I never see the file.

Can I compress a GIF without losing quality?

Partly. Choose Light and keep the original colors, width and frames. You'll get the frame optimization plus a very gentle lossy pass. A truly lossless pass only helps on GIFs that were never optimized.

Can I compress a GIF to an exact size?

Yes. Choose Fit under a size and pick a preset or type your own size in KB or MB. The tool runs several passes and gives you the best-looking version that lands under it.

How do I make a GIF small enough for a Discord emoji?

Discord custom emoji must be 256 KB or smaller. Choose Fit under a size, pick 256 KB, and press Compress GIF. The tool cuts frames, colors and width only as far as it needs to.

Why is my compressed GIF still too big?

Compression can't fix a GIF that's too long or too wide. Drop frames first, then lower the colors, then the max width, or let Fit under a size do those steps for you. Those three remove data, while compression only packs it tighter.

Why does the compressed GIF look grainy?

That's the lossy mode at work, and it shows most on gradients and real footage. Step down from Strong to Balanced or Light, and get the size back from a smaller width instead.

Will dropping frames make my GIF play faster?

No. Each frame I keep inherits the timing of the frames removed after it, so the GIF runs as long as the original. Movement just looks a bit less smooth.

Does the compressed GIF still loop?

Yes. The loop setting and frame timing carry over from your original GIF.

Is there a file size limit?

I don't set one. The limit is your device's memory. A 35 MB GIF ran fine in my tests, and very large GIFs just take longer, especially on phones.

Can I compress a GIF on iPhone or Android?

Yes. It's a web page, so it works in Safari, Chrome and other modern mobile browsers without an app.

Can I turn a video into a small GIF?

Yes, with the MP4 to GIF converter or the MOV to GIF converter for iPhone clips. Trimming and a low frame rate at that stage keep the GIF small from the start.