Moji Locker
← Back to the editor

Animated emoji that fit Slack's 128 KB

Animated GIFs are the easiest way to blow past Slack's file limit. Here's how to keep them small and smooth.

Where the kilobytes go

A GIF stores every frame separately, each with up to 256 colors. File size grows with frames × pixels × how much changes between frames. A 128 px emoji with 30 frames of full-color gradient can easily pass 300 KB, while the same motion in flat colors might be 40 KB.

Trim in this order

  1. Fewer colors. Dropping from 256 to 128 or 64 colors is barely visible on flat or cartoon art and often halves the file.
  2. Fewer frames. Emoji loop constantly, so 12 to 24 frames per loop looks smooth. Keeping every other frame and doubling each frame's delay keeps the timing the same.
  3. A slightly smaller canvas. Going from 128 to 112 px cuts pixels by about a quarter, and at chat size nobody can tell.

Moji Locker's export runs this exact ladder automatically, checks the result against the limit after each step and tells you which steps it needed.

Design for small files

Motion that moves the whole image, like a spin or bounce, changes every pixel each frame and costs the most. Subtle motion such as a pulse compresses better. Flat colors beat gradients and photos, and a transparent background is cheaper than a busy one. Keep the loop under two seconds.

Also mind the frame count

Slack also caps GIF emoji at 50 frames. Combining several motions into one longer loop can cross it, so the frame-dropping step above helps here too.

Make an animated emoji →