Slack custom emoji size and the 128KB limit

Last updated: 2026-08-16

Slack custom emoji are 128×128px and must fit in 128KB — half of what Discord allows. This covers why uploads get rejected, how to fit the limit, and how to name your emoji.

Slack custom emoji specs

Slack custom emoji are reaction images that anyone in the workspace can add and use. Here is what PochiSta exports for Slack.

Slack emote specifications
Use / sizeFormatSize limit
128×128pxemojiPNG (static)128KB
128×128pxemojiGIF (animated)128KB
Platforms change their specs from time to time. Check Slack's official help for the current numbers before uploading.

The 128KB cap is stricter than other platforms

At the same 128×128px, Slack's limit is 128KB — half of what Discord allows for emoji (256KB). An image made for another platform can be rejected on file size alone.

  • Slack: 128×128px / 128KB or less
  • Discord: 128×128px / 256KB or less
  • Twitch: 112×112px and others / animated is 1MB or less

Animated GIFs have to fit in that same 128KB budget, so frame count and color count matter more here than anywhere else.

How to fit inside 128KB

In order of impact. These apply to both static and animated emoji.

  1. Reduce the number of colors

    For simple artwork like text with an outline, reducing colors barely changes what you see. For both PNG and GIF, color count maps directly to file size.

  2. Avoid gradients and photos

    Flat fills compress extremely well. At 128px you can hardly see a gradient anyway, so there is little to lose.

  3. Use fewer animation frames

    Raising the playback speed keeps the motion convincing with fewer frames. Against a budget this tight, this is the biggest lever.

  4. Lower the effect intensity

    The wider the shake or rotation, the more each frame differs from the last, and the less compression can do.

Choosing the emoji name

When you upload, you choose the name that goes between the colons in :name:. It cannot be changed afterwards, so it is worth deciding up front.

  • Keep it short: people pick from autocomplete, and a long name gets buried before they finish typing
  • Share a prefix: for a set, a prefix like team- makes the whole family appear together in autocomplete
  • Avoid clashing with standard emoji: existing names are unavailable, so have a fallback name ready

How PochiSta handles this

PochiSta adjusts automatically at export time so the limit is not exceeded.

  • Static: if it is over the limit, colors are reduced step by step until it fits
  • Animated: it re-encodes by reducing colors first, then dropping frames. If it still does not fit, the export screen shows the actual size next to the limit

A bulk download puts the correctly sized files into a slack/ folder, ready to upload as they are.

Related articles

You can put this article into practice with PochiSta

Export straight to each platform's recommended size and file-size limit, optimized automatically. No sign-up, completely free, and your images never leave the browser.

Make an emote