Compress a GIF to a target size, in your browser
Pick a size such as 256 KB, or the limit Discord, Slack or Twitch states, and get a smaller GIF with its animation kept. Every GIF is compressed on your own device, so nothing is uploaded.
- No upload — runs in your browser
- Free, no account
- Reads GIF files, animated or still
- Up to 20 GIFs, 250 MB per batch
How to compress
Common sizes
The tool compresses each GIF just enough to get under the size you choose, keeping as much quality as it can.
Platform limits
Choose KB or MB, then type a size. 1 KB is 1,024 bytes here, and the smallest size is 1 KB.
Drop images here or click to browse
Accepted: GIF.
Up to 20 files, 250 MB in total
How to compress a GIF
Choose the size
Pick a common size, a platform's limit or type your own, or switch to a compression level instead. The table below lists the limits each platform states.
Add your GIFs
Drop in up to 20 GIFs. Each one is compressed just enough to get under the size, one after another, and you can keep adding while they run.
Download the smaller GIFs
Save each GIF on its own or all of them as one ZIP. A GIF that could not get under the size is still offered, marked as over the target.
GIF size limits on popular platforms
The largest GIF each platform states for these uses, as published on its own pages on the date shown. Platforms change their limits, so the linked page has the final word. Pick a row and the compressor aims under that limit.
Discord's pages state their limits in KiB, 1,024 bytes each, and the tool aims at exactly that. The other pages write KB or MB without saying whether they mean 1,000 or 1,024 bytes, so for those the tool aims at the smaller reading, which fits under either.
| Platform and use | Largest file | Also stated | What this tool does | Source | Apply this limit to the compressor |
|---|---|---|---|---|---|
| Discord emoji | 256 KiB |
|
|
| |
| Discord sticker | 512 KiB |
|
|
| |
| Discord upload | 20 MB | Nothing else |
|
| |
| Slack emoji | 128 KB |
|
|
| |
| X post | 5 MB15 MB on the web; the smaller limit is for its apps | Nothing else |
|
| |
| Twitch emote | 1 MB |
|
|
| |
| Tumblr post | 10 MB | Nothing else |
|
| |
| GitHub comment | 10 MB | Nothing else |
|
|
Discord emoji
- Largest file
- 256 KiB
- Also stated
- 128 × 128 px
- What this tool does
- Aims at 262,144 bytes or less
- Shrinks a larger GIF to fit within 128 × 128 px
- Source
- How to Add Emojis on Discordchecked September 29, 2026
- Emoji Resourcechecked September 29, 2026
Discord sticker
- Largest file
- 512 KiB
- Also stated
- 320 × 320 px
- Up to 5 s long
- Discord's developer documentation lists GIF among the sticker formats.
- What this tool does
- Aims at 524,288 bytes or less
- Says if the result is not 320 × 320 px
- Says if the animation lasts longer than 5 s
- Source
- Sticker Resourcechecked September 29, 2026
Discord upload
- Largest file
- 20 MB
- Also stated
- Nothing else
- What this tool does
- Aims at 20,000,000 bytes or less
- Source
- File Attachments FAQchecked September 29, 2026
Slack emoji
- Largest file
- 128 KB
- Also stated
- Square
- Up to 50 frames
- What this tool does
- Aims at 128,000 bytes or less
- Keeps at most 50 frames, each shown longer
- Says if the result is not square
- Source
- Add custom emoji and aliases to your workspacechecked September 29, 2026
X post
- Largest file
- 5 MB15 MB on the web; the smaller limit is for its apps
- Also stated
- Nothing else
- What this tool does
- Aims at 5,000,000 bytes or less
- Source
- How to post photos or GIFs on Xchecked September 29, 2026
- Best practiceschecked September 29, 2026
Twitch emote
- Largest file
- 1 MB
- Also stated
- Square
- Up to 60 frames
- What this tool does
- Aims at 1,000,000 bytes or less
- Keeps at most 60 frames, each shown longer
- Says if the result is not square
- Source
- Animated Emoteschecked September 29, 2026
Tumblr post
- Largest file
- 10 MB
- Also stated
- Nothing else
- What this tool does
- Aims at 10,000,000 bytes or less
- Source
- Adding & Creating GIFschecked September 29, 2026
GitHub comment
- Largest file
- 10 MB
- Also stated
- Nothing else
- What this tool does
- Aims at 10,000,000 bytes or less
- Source
- Attaching fileschecked September 29, 2026
What decides how small a GIF gets
A GIF can only get so small before something gives. Three things decide how far it goes and what it costs to get there.
One frameEvery frame adds bytes What makes a GIF big
A GIF stores every frame as a picture of its own, in up to 256 colours. Its size grows with the number of frames, with the pixels in each, and with how much those pixels change: a filmed clip changes almost every pixel on every frame, a flat cartoon very few.
For a big cut, take away frames or pixels. Merging colours alone trims less.
Exact coloursSimilar colours merged Lossy GIF compression
Lossy compression lets similar colours next to each other count as one, which a GIF stores in fewer bytes, and skips pixels that barely change from one frame to the next. The light levels are hard to spot; at the strong ones, flat areas can show faint streaks.
Choose a compression level when the look matters more than a set size. Balanced suits most GIFs.
Smaller framesFewer frames, same length Fewer frames or smaller frames
Both cut bytes. Smaller frames keep the motion smooth but show less detail. Fewer frames keep the detail, and the frames left are shown longer, so the animation lasts as long as before but moves less smoothly.
Switch off Allow fewer frames to keep the motion smooth, or Allow smaller dimensions to keep every pixel.
Why a GIF often has to get smaller to fit an emoji limit
Emoji and emote limits are tiny next to a typical GIF. A few seconds of video-sized animation easily runs to several megabytes, and merging colours cannot take that under a quarter of a megabyte while every frame keeps its size. Fewer pixels and fewer frames are what get it there, which is why the platform limits also fit the GIF to the size the platform states.
If you want to choose the dimensions yourself rather than leave them to the compressor, resize the GIF first, then compress it. A GIF made the size it will be shown at spends no bytes on pixels nobody sees.
If you are making the animation yourself, choosing fewer frames and a smaller size at the start costs less quality than taking them away afterwards. Build the GIF from your images at the size and frame delay you need, then compress it if it is still over.
What the GIF shows matters as much as its size. Large flat areas and simple motion compress well. Film grain, gradients and a moving camera change nearly every pixel on every frame, and those GIFs shrink the least.
Limits worth knowing
- Reads GIF files, animated or still: up to 20 per batch and 250 MB in total.
- A GIF can have up to 1,000 frames, 4.2 megapixels per frame and 300 megapixels across all its frames.
- The animation is kept: its frames, timing and looping. Frames are dropped only to reach the size when Allow fewer frames is on, keeping at least 10 frames a second, or to meet the frame limit of a platform you chose.
- Each GIF gets at most 12 tries, and a lossy step is used only while the measured quality stays above a fixed floor. If that is not enough, the smallest result above the floor is offered, marked as over the target.
Compress GIF FAQ
Are my GIFs uploaded to a server?
No. Every GIF is read, compressed and saved in your browser, and no file is uploaded, stored or sent anywhere. The page does fetch its own code as you go: the compressor's code when you add your first GIF, and the ZIP library the first time you download a ZIP. Your GIFs are never part of that.
How do I get a GIF under 256 KiB for a Discord emoji?
Choose Discord emoji under Platform limits, or select Use the Discord emoji limit in the table above, then add the GIF. The compressor aims at 262,144 bytes or less and shrinks a larger GIF to fit within 128 × 128 px, the size Discord states for emoji. Leave Allow smaller dimensions and Allow fewer frames on, so the compressor can use them when merging colours alone is not enough.
Why does the compressed GIF look blurry or streaky?
To reach a size, the compressor merges similar colours, which can leave faint streaks in flat areas, and may make the frames smaller, which looks soft when the GIF is shown larger. It never uses a lossy step whose measured quality falls below a fixed floor. For a cleaner result, choose a larger size, switch off Allow smaller dimensions, or use the Light compression level instead of a size.
Does compressing keep the transparency and the looping?
Yes. Transparent pixels stay transparent, and the GIF loops as it did before. The frames keep their timing too. When frames are dropped to reach a size, the frames left are shown longer, so the animation still lasts as long as the original.
What happens if a GIF cannot get under the size?
You still get the smallest result the compressor could make without going below its quality floor, and its row is marked Over target. It is ready to download. If Allow smaller dimensions or Allow fewer frames was off, switching it on and selecting Retry on the row often gets it under; a larger size does too.
Can I compress several GIFs at once?
Yes. Add up to 20 GIFs, 250 MB in total, and they are compressed one after another with the same settings. Download each GIF on its own or all of them as one ZIP.
Why is a limit in KB aimed slightly lower than I expected?
Many platforms write a limit as KB or MB without saying whether they mean 1,000 or 1,024 bytes. For those, the compressor aims at the smaller, decimal reading, which fits either way: Slack's 128 KB emoji limit is aimed at 128,000 bytes. Discord states its limits in KiB, 1,024 bytes each, so its 256 KiB emoji limit is aimed at exactly 262,144 bytes. The common sizes and a size you type count 1 KB as 1,024 bytes, as the rest of this site does, so a typed 128 KB is 131,072 bytes. For Slack, choose its limit rather than typing the number.
What to do next
- Resize GIFWant to pick the dimensions yourself? Resize the GIF to an exact size first.
- GIF to PNGNeed a still for a thumbnail or a preview? Save a frame of the GIF as a PNG.
- WebP to GIFHave an animated WebP instead? Turn it into a GIF, then compress it here.
- Images to GIFMaking the animation yourself? Build a GIF from your images at the size you need.
- Compress ImageCompressing a photo or a still image? Bring a JPEG, PNG or WebP under a size limit.
Compress your GIF now
Choose a size or a platform's limit, add your GIFs, and download smaller ones with the animation kept. Nothing leaves this device.