Compress a GIF without wrecking it
A free GIF compressor that works right here in your browser. Shrink a GIF for Slack, email or a deck, watch the before and after side by side, and download. Nothing is uploaded.
Your GIF never leaves your computer. Nothing is uploaded.
Got the video the GIF came from? Our video to GIF converter makes a smaller one from the source.
How to compress a GIF
Five steps, usually under a minute.
Drop in your GIF
Drag a GIF onto the box above, click it to choose one, or paste one in. Files up to 200 MB open straight from your disk.
Pick a preset or a target size
Light, Balanced and Smallest set everything for you. Or pick a target, such as 1 MB for email, and the compressor tries settings until it finds the gentlest one that fits.
Fine-tune it
The controls run in order of what they save: width, then frames, then colours, then dithering. Change any of them and press Compress GIF again.
Compare before and after
The original and the compressed GIF play side by side, with both file sizes and the percentage saved.
Download it
Your GIF downloads with -compressed added to its name. If it came out bigger than the original, the compressor says so and offers you the original back.
What actually shrinks a GIF
We ran this compressor on a 4-second, 60-frame GIF at 800 px, saved the way plenty of converters save them: a fresh 256-colour palette on every frame and error-diffusion dithering. It weighed 12 MB. Here is what each setting did to it.
| Settings | Size | Saved |
|---|---|---|
| Same size, re-encoded (Light) | 6.8 MB | 44% |
| 640 px wide | 4.0 MB | 67% |
| 480 px wide | 2.1 MB | 83% |
| 480 px, no dithering | 1.9 MB | 84% |
| 480 px, 128 colours (Balanced) | 1.6 MB | 87% |
| 480 px, every 2nd frame | 1.3 MB | 90% |
| 480 px, 64 colours | 1.3 MB | 90% |
| 480 px, 32 colours | 988 KB | 92% |
| 320 px, every 2nd frame, 64 colours, no dithering (Smallest) | 356 KB | 97% |
The first row is the surprise: 44% gone without changing a single setting. The original gave every frame its own palette and its own dither noise, so nothing carried over from one frame to the next. This compressor builds one palette for the whole GIF, stores only the pixels that change, crops each frame to the part that moved, and drops frames that repeat. After that, the levers rank the same way they did in our guide to reducing GIF file size:
Width does the heavy lifting. Halve the width and the height halves with it, so each frame has a quarter of the pixels. Most GIFs are shown far smaller than they were made: in a Slack thread, an email or half a slide, 480 px is plenty.
Then frames. Keeping every 2nd frame took another 40% off at 480 px. Each kept frame stays up twice as long, so the GIF runs at the same speed, just a little less smoothly. Fine for most loops, less so for fast action.
Then colours. 128 colours saved 23% over 256, and 32 saved 53%, but skies band and skin goes blotchy long before that. Interface recordings and flat graphics cope with fewer colours far better than footage does.
Dithering last. It blends colours with a fixed dot pattern so gradients don't band. Turning it off saved 10%. The pattern stays put from frame to frame, so it costs far less than the shifting noise most converters use.
Your GIF will give different numbers. Grainy footage barely compresses, flat graphics compress beautifully, and a GIF that was made carefully has less to give.
How small does it need to be?
The published limits, checked on each service's own pages on 20 October 2026.
- Slack custom emoji
- Slack says square images under 128 KB work best, and an emoji GIF can have up to 50 frames.
- Slack messages
- Files up to 1 GB, so a GIF only needs to be light enough to load quickly.
- Gmail
- 25 MB of attachments in total. Over that, Gmail swaps the file for a Google Drive link.
- Discord
- 20 MB per file on a free account since August 2026 (it was 10 MB). Nitro Basic allows 50 MB.
- Notion
- On the Free plan, every uploaded file must be under 5 MB.
- Google Slides
- Google's Slides documentation caps images at 50 MB and 25 megapixels.
- PowerPoint
- Microsoft doesn't publish a GIF size limit. The limit that bites is the email the deck travels in.
A published limit is a ceiling, not a target. A 20 MB GIF in an email crawls on a phone. Our rules of thumb: under 1 MB for email, 2 to 5 MB for a Slack or Teams message, and for decks, whatever keeps the whole file under the client's attachment limit. If a GIF in PowerPoint is small enough but won't move, our guide to inserting GIFs into PowerPoint covers the usual culprits.
Why use this compressor
Nothing is uploaded
Your GIF is rebuilt on your own computer, which matters for a client's work or an unreleased edit. Watch the network tab while it runs if you like.
No watermark, no account
No sign-up, no logo on frame one, no daily limit.
GIFs up to 200 MB
Nothing crosses the internet, so a huge GIF opens as fast as your disk can read it. Huge ones take a minute or two to rebuild.
Honest when it can't help
If your GIF was well made already, re-encoding can't find much to cut. When the result comes out bigger, the compressor says so and offers your original back.
More on GIFs
Browse every guide on the Spark blogGIF compressor questions
How do I compress a GIF for free?
Drop the GIF into the compressor at the top of this page, pick Light, Balanced or Smallest (or a target size), and download the result. It's free, with no watermark, no account and no daily limit.
Is my GIF uploaded anywhere?
No. The compressor runs inside your browser, so the GIF is read, rebuilt and saved on your own computer and nothing is sent to Spark or anyone else. That makes it safe for unreleased work and client files.
How do I make a GIF smaller without losing quality?
Shrink the width first: it cuts every frame in both directions, and most GIFs are shown far smaller than they were made. On our test GIF, going from 800 to 480 px saved 83% before touching a single colour. Our guide to reducing GIF file size ranks every fix by what it saved.
Why did my compressed GIF come out bigger?
Your GIF was probably made carefully in the first place: small, few colours, with only the changing pixels stored. Re-encoding it can't find much to take out, and at the same settings it may even add a little. The compressor tells you when that happens and offers the original back; try a smaller width instead.
How do I get a GIF under 128 KB for a Slack emoji?
Choose the 128 KB target and let the compressor find the settings. It will usually end up narrow, with fewer colours and frames, which suits an emoji shown at a tiny size anyway. Slack also allows no more than 50 frames in an emoji GIF, so trim long ones first.
How small should a GIF be for PowerPoint?
PowerPoint has no published limit, but heavy GIFs make decks slow to open and slow to email. For a GIF in a box on a slide, 480 px wide is plenty: in our tests that came out between 1.2 and 3.4 MB for a 4-second clip. Our guide to inserting GIFs into PowerPoint covers the rest, including why some stop moving.
Can it compress a video or make an MP4?
No, this one only takes GIFs and only makes GIFs. If you have the video the GIF came from, use our video to GIF converter instead: a GIF made from the source at the right size beats a big GIF squeezed after the fact.
Keep the video, export the GIF you need
A GIF squeezed from a GIF is a photocopy of a photocopy. Spark keeps the reference video itself, saved from Instagram, TikTok, YouTube, Vimeo or any web page, tagged and searchable by what's in the shot. When a deck or an email needs a GIF, export one from the saved video at the size you pick, from 320 to 1080 px wide.
Free plan, no card. Mac and Windows.
