Innovation 36T | i36T

Making an animated Slack emoji that actually uploads

Slack allows a custom emoji of 128 × 128 pixels at 128 KB. Most animated logos are twenty times that, which is why the upload keeps failing.

Why this budget is so tight

128 KB sounds generous until you divide it by frames. At 128×128 an unoptimised GIF spends roughly 16 KB per frame, so eight frames exhausts the allowance. Every technique matters:

Settings that fit

SettingValue
Max size (longest edge)128 px
FormatGIF
FPS15
Colours32–64
EffectShine, pulse, glow — anything where the subject stays put

Avoid pans and zooms at this size

Effects that move the whole subject change which pixels are transparent from frame to frame, which makes the skip-unchanged-pixels optimisation unsafe — the encoder has to store full frames and the file multiplies. At 128 KB you cannot afford that. Effects that light the artwork without moving it stay small.

Discord, for comparison

Discord allows 256 KB at the same 128×128, so anything that fits Slack fits Discord with room to spare.

Make an emoji Browse effects

Frequently asked

What is the Slack emoji size limit?

128 KB, at 128 by 128 pixels. Slack rejects the upload above either limit, and it does not resize or recompress for you.

Why does my animated emoji fail to upload to Slack?

Almost always file size. An animation exported at 512 px or with per-frame colour palettes will be several hundred kilobytes. Re-export at 128 px with a single palette across the loop and 32 to 64 colours.

What is the Discord emoji size limit?

256 KB at 128 by 128 pixels — twice Slack's allowance, so a file made for Slack always works on Discord.