Second tool
GIF compressor
Drop in a GIF that is too big and pick which method does the shrinking, rather than dragging one anonymous quality slider and hoping. Before and after sit side by side with real byte counts, and nothing is uploaded.
- Per method controls
- Target size mode
- No size cap
- No upload
Starting the compressor
One moment. The engine downloads only when you pick a file.
What each method actually does
A GIF is a palette plus a series of frames, each stored as a rectangle of palette indexes compressed with LZW. Every compression method is an attack on one of those three things: the palette, the number of frames, or the number of pixels per frame.
- Colour reduction. Rebuilds the palette with fewer entries. Fewer colours means fewer bits per pixel before LZW even starts, so the saving is direct and predictable. This is the first thing to try because most GIFs carry a 256 colour palette they never needed.
- Duplicate frame removal. Finds frames that are visually identical to the one before and deletes them, stretching the delay on the survivor so the timing stays right. On a screen recording where the cursor moves once every second, this alone can remove most of the file. On handheld footage it finds nothing.
- Frame dropping. Keeps one frame in two, three or four. Roughly halves, thirds or quarters the file. The cost is smoothness, and below about 10fps motion starts to read as a stutter rather than a style.
- Width reduction. The bluntest tool. Halving the width removes three quarters of the pixels. It is applied last in target mode because it is the change people notice most.
- Dithering choice. Counter-intuitive but important. Dithering scatters pixels to fake colours the palette does not have, which destroys the long runs of identical values that LZW compresses. When you are compressing rather than converting, turning dithering off is usually the right call.
Which methods suit which GIF
| Kind of GIF | What works | What to leave alone |
|---|---|---|
| Screen recording or UI demo | Duplicate removal, 64 colours, no dithering | Width, because text stops being readable |
| Live action or camera footage | Colour reduction to 96 to 128, frame dropping | Duplicate removal, it will find nothing |
| Flat illustration or logo animation | Aggressive colour reduction, 32 or fewer, dithering off | Frame dropping, the motion is usually already sparse |
| Reaction GIF from a film | Frame dropping, then width | Heavy colour reduction, faces band badly |
The size limits you are working around
| Where the GIF is going | Limit |
|---|---|
| Discord, free account | 10 MB |
| Discord, Nitro | 500 MB |
| Slack | 1 GB per file |
| X (Twitter), web | 5 MB |
| X (Twitter), mobile | 15 MB |
| GitHub, per file | 10 MB |
| Email, practical ceiling | about 1 MB |
| 100 MB |
Set the target a little below the real limit. Some platforms count the encoded upload rather than the file on disk.
Why this beats the compressor you were about to use
ezgif has the best method set of any online compressor and it has had it for over a decade: lossy LZW, colour reduction, frame dropping, duplicate removal, transparency optimisation. The problem is that every one of those operations is a full page round trip to a server, so trying four combinations means four uploads of the same file and four waits, with a 200MB cap and a one hour retention notice attached.
The other side of the market went the opposite way. imageresizer and FreeConvert both hide everything behind a single slider and promise up to 60 percent, with no way to say this is a screen recording, drop the duplicates and leave the width alone. gifcompressor.com does batches but gives you no quality control at all, and caps at 20 files of 50MB.
The methods here are the useful subset of the ezgif list, running locally with no round trip, so trying a fifth combination costs a few seconds rather than another upload. What is not here is gifsicle style lossy LZW, which needs a different engine. The colour and dithering controls cover most of the same ground.
Better than compressing: do not make it big in the first place
Compression is a repair. If you still have the source video, converting it again with the right settings gives a better result than squeezing a finished GIF, because the palette gets built from full colour footage rather than from an already quantised one.
The video to gif converter shows the estimated output size while you move the sliders, so you can land under a limit before the first encode rather than after it. If the source is gone, this page is the right tool.
GIF compression questions
How much smaller can a GIF get?
It depends entirely on what is in it. A screen recording with a static background often drops 70 to 90 percent, because removing duplicate frames and cutting the palette costs it almost nothing. Live action footage with camera movement is much harder and 30 to 50 percent is a realistic outcome. Any tool promising a fixed percentage before it has seen your file is guessing.
Which method should I use first?
Colour reduction, then duplicate frame removal, then frame dropping, then width, in that order. That is deliberately the order of least visible damage. Colours are usually oversupplied, duplicate frames are free to remove, dropping frames costs smoothness, and reducing the width costs detail permanently. Target size mode walks that same ladder for you.
Does compressing lose quality?
Yes, every method here removes information. What differs is whether you notice. Cutting 256 colours to 96 on a screen recording is invisible. Doing it on a sunset is not. That is why the before and after sit side by side rather than behind a single opaque quality slider.
Is my GIF uploaded anywhere?
No. The compressor is the same in-browser ffmpeg engine as the converter on the rest of the site. Your file is read from disk, processed in memory and handed back. There is no server involved, which is also why there is no 200MB cap and no queue.
How do I get a GIF under 10MB for Discord?
Turn on target size mode, set it to 8MB to leave headroom, and press compress. It re-encodes up to five times, stopping the moment the file fits, and reports which settings got there. Free Discord accounts cap at 10MB and Nitro raises it to 500MB.
Why did compression barely help?
Two common reasons. The GIF is already well optimised, in which case there is nothing left to take. Or it is full motion footage where every frame differs from the last, so duplicate removal finds nothing and colour reduction is the only lever. In the second case the honest answer is to shorten the clip or drop the width.
Can I compress several GIFs at once?
One at a time. The encoder is single threaded in the browser, so running four in parallel would just make each of them four times slower. There is no daily limit though, so you can work through as many as you like.
Should I just use WebP instead?
If the destination accepts it, yes. Animated WebP measured between a seventh and a quarter the size of the same animation as a GIF, depending on how detailed the content is, and it keeps full colour. The converter on the home page writes WebP directly from a video. This page exists for the times when the answer has to be a GIF.
Other formats
H.264 and HEVC decode notes, the right defaults for 4K phone footage, and no one minute cap.
QuickTime and iPhone .mov, including the HEVC fallback everyone else leaves out.
What a screen recorder gives you, plus the alpha channel problem no other page mentions.
AVI, MKV, AVCHD, MPEG, 3GP and anything else ffmpeg can decode work on the video to gif converter as well. These pages exist because the advice differs by format, not because the tool does.