GIF Optimizer - Optimize Animated GIFs Online
Five optimisation techniques, exposed individually, so you decide where the quality goes.
A preset makes the trade-off for you. This page does not - it exposes the five techniques a GIF optimizer actually uses and lets you apply them one at a time, so you can see what each one costs and stop at the point that suits your GIF. If you would rather just get a smaller file with no decisions, use the GIF compressor instead.
The Five Optimisation Techniques
| Technique | Typical saving | Quality cost | Use when |
|---|---|---|---|
| Lossy compression | 20-40% | Medium | Almost always - it is the general-purpose lever |
| Colour reduction | 10-35% | Medium | GIFs sourced from video, which rarely use the full palette |
| Scaling | Up to 75% | Low | The GIF is displayed smaller than it is stored |
| Duplicate frame removal | 0-60% | None | Always - it is effectively free |
| Nth frame removal | 25-50% | High | Last resort, when you have a hard size limit |
Work down that table in order. Duplicate frame removal costs nothing, so turn it on first. Nth frame removal is the one that visibly stutters your animation, so leave it until you have exhausted everything else.
1. Lossy Compression
Lossy compression permanently discards pixel data that the LZW encoder can then pack more tightly. The data cannot be recovered afterwards, which is why it is also called irreversible compression - always keep your original.

The tool accepts a value from 10 to 500. In practice 30 to 100 is the useful range and returns a 20-40% size reduction with little visible change. Above roughly 200 you start to see mottling on flat colour areas and haloing around sharp edges. Photographic and video-sourced GIFs tolerate high values much better than flat illustrations or screenshots containing text.
2. Colour Reduction
A GIF frame can reference at most 256 colours. Cutting that palette shrinks every frame at once, because each pixel needs fewer bits to index into a smaller table.

How far you can go depends entirely on the source. GIFs made from video usually only occupy 150-200 distinct colours to begin with, so dropping to 128 is close to invisible. Illustrations with gradients start showing banding around 96 colours. Screenshots containing anti-aliased text degrade fastest, because the intermediate shades that make text look smooth are the first ones discarded.
3. Scaling
Scaling is the highest-yield, lowest-damage technique available, and it is consistently underused. File size tracks pixel area, not width - so scaling a GIF to 50% does not halve it, it removes about 75% of the data.
The question to ask is what size the GIF is actually displayed at. A 1200 px wide GIF embedded in a 500 px column is storing more than five times the pixels anyone will ever see. If you want exact dimensions rather than a percentage, the GIF resizer takes width and height directly.
4. Duplicate Frame Removal
Where consecutive frames are identical, the duplicates carry no information - they can be dropped and the remaining frame's display delay extended to cover the gap. The result is pixel-identical playback in a smaller file. There is no reason not to use this.
The tool matches frames at a configurable similarity threshold: 50%, 60%, 80% and so on. At 100% only exact duplicates go. Lowering the threshold catches near-identical frames too, which saves more but can introduce a slight jump where two almost-matching frames are merged. On screen recordings with long static stretches this technique alone can remove half the file.
5. Nth Frame Removal
The blunt instrument: drop every 2nd, 3rd, 4th or nth frame regardless of content. A GIF with 120 frames dropped to every 3rd becomes 40 frames - about a third of the size.
The total duration is preserved by redistributing the delay onto the surviving frames, so the GIF still plays for the same length of time; it just plays at a lower effective frame rate. Every 4th or 5th is usually acceptable. Every 2nd is obvious on anything with fast motion. Reach for this only when a hard size limit leaves you no choice.
Putting It Together
A workable default for most GIFs: turn on duplicate frame removal, scale to whatever size the GIF is actually displayed at, set lossy compression to about 60, and stop. That combination typically halves the file with nothing visible to complain about. Add colour reduction if you need more, and only touch nth frame removal if you are chasing a specific number - in which case the target size guide lists settings per target.
Privacy
Every GIF is optimised by JavaScript in your own browser, whatever its size, and is never uploaded. There is no account and nothing is retained.
Frequently Asked Questions
What is the difference between optimising and compressing a GIF?
They describe the same outcome from different angles. Compressing means "make this smaller", usually via a preset. Optimising means choosing which of the five underlying techniques to apply and by how much, so you control exactly where the quality is spent. If you just want a smaller file, use the compressor; if you want to understand and direct the trade-off, use this page.
Which optimisation technique loses the least quality?
Removing duplicate frames, because it is effectively lossless - identical frames carry no new information. After that, scaling is the most forgiving relative to the size it saves. Heavy lossy compression and aggressive colour reduction are the most visible.
How many colours can I remove before a GIF looks bad?
GIFs from video tolerate a drop from 256 to 128 colours almost invisibly. Flat illustrations and gradients start to show banding below about 96 colours. Screenshots with text degrade fastest because anti-aliased edges need many intermediate shades.
Does removing frames change how long the GIF plays?
No. The frame delay is redistributed so total duration stays the same. What changes is smoothness - the animation plays at a lower effective frame rate.
Can I undo lossy compression?
No. Lossy compression permanently discards pixel data, which is why it is also called irreversible compression. Always keep the original file and re-optimise from that rather than from a previous output.
Why did my GIF barely get smaller?
Either it was already optimised, or it has heavy motion where every frame differs from the last so there are no duplicates to remove. In that case scaling and colour reduction are your only real levers.