Slack GIF Size Limit: 1 GB in Messages, 128 KB for Emoji (Tested)
A GIF posted in a Slack message can be up to 1 GB, the limit for any file, and it previews inline if it is under 25,000 pixels on its longest side. A GIF emoji is the tight limit: square, under 128 KB, and up to 50 frames. How to shrink a GIF that Slack says is too big.
On this page
The Slack GIF size limit depends on where the GIF goes. A GIF you post in a message or thread is a file, and Slack's help center says you can add files up to 1 GB, which our file size limit test measured as exactly 1,073,741,824 bytes. It plays inline if it is smaller than 25,000 pixels on its longest side and 45 million pixels in total. A GIF you upload as a custom emoji is the strict case. We tested it on 4 October with 11 GIFs: the emoji limit is 128 KB exactly (131,072 bytes) after Slack's own resize, and the 50-frame limit in Slack's help center is not enforced; an 86-frame GIF went through with every frame. When Slack says a GIF is too big, it is almost always an emoji upload.
Slack GIF limits by where the GIF goes
| Where the GIF goes | Limit |
|---|---|
| A file in a message, DM or thread | Up to 1 GB per file, up to 10 files at once |
| Inline preview of that file | Under 25,000 px on the longest side and 45 million px total |
| Custom emoji, animated | 131,072 bytes (128 KB) after Slack resizes it to 128 by 128; more than 50 frames accepted in our test |
| GIF picker or /giphy | No upload; GIPHY hosts the GIF |
| Profile photo | 512 by 512 to 1024 by 1024 pixels |
A GIF above the preview limits still uploads. People see it as a file to click instead of an image playing in the channel. Some workspaces also restrict which files members and guests can upload, especially in Slack Connect channels with other companies.
The steps for each way to post a GIF, from the built-in picker to uploading your own, are in how to add a GIF in Slack.
Slack GIF emoji size limit, measured
Slack's Add custom emoji dialog says "Square images under 128KB and with transparent backgrounds work best. If your image is too large, we'll try to resize it for you." To find the real limit, we uploaded GIFs to a test workspace with Slack's emoji.add call, the one the dialog uses, then downloaded what Slack stored:
| GIF we uploaded | File size | Result |
|---|---|---|
| 128 x 128, 5 frames of random noise | 115,480 bytes | Accepted, stored byte for byte |
| 128 x 128, 6 noise frames, tuned | 130,106 bytes | Accepted |
| 128 x 128, 6 noise frames, tuned | 130,972 bytes | Accepted |
| 128 x 128, 6 noise frames, tuned | 131,545 bytes | Rejected: resized_but_still_too_large |
| 128 x 128, 6 noise frames, tuned | 133,171 bytes | Rejected: resized_but_still_too_large |
| 128 x 128, 60 frames, simple animation | 13,127 bytes | Accepted, all 60 frames kept |
| 128 x 128, 86 frames, simple animation | 18,060 bytes | Accepted, all 86 frames kept |
| 512 x 512, 30 frames, simple animation | 29,606 bytes | Accepted, stored at 128 x 128 and 10,201 bytes |
| 512 x 512, 20 frames of colour stripes | 1,370,293 bytes | Rejected, even after Slack's resize |
| 128 x 128, 30 noise frames | 693,132 bytes | Rejected |
The cut-off sits between 130,972 and 131,545 bytes, which is 128 KiB (131,072 bytes). Slack first shrinks a larger GIF to 128 by 128 pixels and checks the size again, so a big but simple GIF can pass while a small, busy one fails. The dialog shows the rejection like this:
The full upload steps, and who is allowed to add emoji, are in how to add custom emoji to Slack.
A 128 by 128 pixel image is the usual size. Emoji show at 32 pixels or smaller in messages, so a bigger image does not look better; it only adds bytes. Noise and photo detail cost the most bytes: our 30-frame noise GIF was 693 KB at 128 pixels, while a 60-frame cartoon-style GIF was 13 KB.
Discord allows twice as much, 256 KB per emoji. If the same GIF fails there, see Discord emoji too big.
How to shrink a GIF for Slack
The file size of a GIF comes from four things: pixel size, frame count, number of colors, and how much changes between frames. Cut them in that order:
- Crop to a square around the subject.
- Scale to 128 by 128 pixels.
- Cut frames. Drop every second frame, or trim the clip to 2 or 3 seconds. Slack does not cap the count at 50, but every frame adds bytes.
- Reduce colors from 256 to 64 or 32. Cartoon GIFs lose almost nothing.
Our Slack emoji resizer does all four in the browser: it resizes every frame, keeps 50 frames spread across the clip if the source has more, and re-encodes until the file is under 128 KB. Nothing is uploaded to a server. To make a new animated emoji instead of shrinking one, see Slack GIF creator.
If you prefer the command line, gifsicle does the same:
# Resize to 128x128, cut to 64 colors, lossy compression, optimize
gifsicle --resize 128x128 --colors 64 --lossy=80 -O3 input.gif -o emoji.gif
# Check the result is under 128 KB (131,072 bytes)
ls -l emoji.gif
To make a GIF emoji from a video clip, ffmpeg can take 3 seconds at 10 frames a second, which gives 30 frames (measured sizes for each frame rate and color count are in how to make an emoji from a video):
ffmpeg -t 3 -i clip.mp4 -vf "fps=10,scale=128:128:force_original_aspect_ratio=increase,crop=128:128,split[a][b];[a]palettegen=max_colors=64[p];[b][p]paletteuse" emoji.gif
Never appear "away" on Slack again
Cloud-based. No downloads. Works 24/7 even when your laptop is off.
Slack GIF too big: what the error means
A GIF that shows as a still image for one person and plays for another is usually that person's accessibility setting, not the file.
Does Slack compress GIFs?
A GIF posted as a file keeps its original file, and people can download it at full size. For emoji, do not count on Slack to shrink an oversized GIF; shrink it first so the upload goes through and the animation stays smooth. The picker GIFs come from GIPHY and load from GIPHY's servers at the size GIPHY serves.
FAQ
What is the max GIF size for Slack? 1 GB for a GIF posted as a file, per Slack's help center. For a custom emoji, 131,072 bytes after Slack resizes it to 128 by 128.
How many frames can a Slack GIF emoji have? Slack's help center says 50, but an 86-frame GIF was accepted with every frame kept in our test. The byte limit is what stops long GIFs.
What size should a Slack emoji GIF be? 128 by 128 pixels and under 128 KB.
Can I make a Slack GIF emoji bigger in messages? No. Emoji show at a fixed small size. To show a GIF large, post it as a file or use the GIF picker.
Stop Jiggling Your Mouse.
Join hundreds of remote workers who never worry about their Slack status. Set it up once, stay green forever.
Related Articles
Slack Bot Scopes: The Scope Each API Method Needs, Measured on 44 Methods
We gave a Slack bot one scope, called 44 common Web API methods, and read the needed field of every missing_scope error. Then we added the scopes and called them again. The table shows which scope clears each method.
Slack File Size Limit: 1 GB Is Exactly 1,073,741,824 Bytes, Tested
We uploaded files of 50 MB, exactly 1 GiB and 1 GiB plus one byte to Slack through its upload API. The limit is 1,073,741,824 bytes, and a failed upload can still leave a broken file behind.
Slack Dark Mode: Where the Setting Is, and Which Custom Emoji Disappear
Slack's dark mode is under Preferences > Appearance > Color Mode, with Light, Dark and System. We switched modes in Slack web with three test emoji and measured which ones vanish.