Guide
How to Make an Animated Emoji GIF Under 128 KB
Why animated emoji get rejected, what the caps are on Slack, Discord, Teams, Kick and Twitch, and how to make a looping GIF that fits without a compression step.
5 min read
Most animated emoji fail at upload for one reason: the file is too big. A GIF from a search engine is one to five megabytes, and Slack's cap is 128 KB, which is not a rounding error but forty times smaller. This guide is about making the file small from the start rather than shrinking it afterwards.
The caps, smallest first
- •Slack: 128 KB, 128 by 128 pixels, up to 50 frames. The tightest cap of any chat app.
- •Discord: 256 KB, shown at 128 by 128. Typing an animated emoji needs Nitro.
- •Kick: 512 KB for animated emotes at 128 by 128, in dedicated animated slots.
- •Microsoft Teams: 1 MB, resized to 128 by 128.
- •Twitch: 1 MB, up to 60 frames, in 112, 56 and 28 pixel versions, Affiliate or Partner only.
Where the bytes go
A GIF stores every frame as a full image with up to 256 colours. Three things decide the size: pixel count, frame count and colour count. Halving the width quarters the pixels; halving the frames halves the file; a smaller palette shrinks each frame. A 128 pixel loop with six frames and a modest palette lands between 30 and 60 KB, which is what the generator produces.
Make it small from the start
- 1Describe one motion, not a scene: a wave, a bounce, a spin, a dance. A loop with one big movement reads at 22 pixels in a reaction; a scene does not.
- 2Generate at 128 pixels with the Animated toggle. Six frames at 110 milliseconds each is a two-thirds-second loop that plays smoothly without strobing.
- 3Check the size before uploading. Anything under 128 KB works everywhere on the list above; the generator's output is a fifth of that.
- 4Keep the background transparent. Slack and Discord show emoji on dark themes, and an opaque box is the second most common reason a loop looks wrong.
If you already have a big GIF
- •Resize to 128 pixels first. That alone removes most of the bytes on anything larger.
- •Cut to the shortest loop that still reads. Eight to fifteen frames is plenty for a reaction.
- •Reduce the palette to 64 or 128 colours. Emoji have few colours to begin with, so this is nearly free.
- •If it still will not fit under 128 KB, remake it: a generated four-frame loop from a one-line description is faster than another compression round.
Pages this guide points at
Make your own custom emoji
Describe any emoji and generate a transparent-background sticker with AI in seconds.
Open the emoji generatorFAQ
Why does Slack say my animated emoji is too large?
Slack refuses anything over 128 KB, with no auto-compression. Most GIFs from the web are megabytes. Resize to 128 pixels, cut frames, or generate a short loop that starts small.
How many frames should an animated emoji have?
As few as the motion needs. Six frames is enough for a wave, a bounce or a spin, and keeps the file tiny; fifteen is plenty for anything. Slack caps at 50 and Twitch at 60, but those limits are far above what reads well.
Will a small GIF look bad?
Not at emoji size. Emoji show at 22 to 32 pixels in chat, so a 128 pixel source is already four times the display size. Small file, same look.