Twitch emote sizes and how to prepare them

Last updated: 2026-08-16

Twitch needs three sizes — 112×112px, 56×56px and 28×28px. This covers why all three are required, the size limit on animated emotes, and how to prepare them so the upload does not fail.

Twitch emote specs

Twitch expects you to upload three sizes as a set. Here is what PochiSta exports for Twitch.

Twitch emote specifications
Use / sizeFormatSize limit
112×112pxlargePNG (static)—
56×56pxmediumPNG (static)—
28×28pxsmallPNG (static)—
112×112pxlargeGIF (animated)1024KB
56×56pxmediumGIF (animated)1024KB
28×28pxsmallGIF (animated)1024KB

Note: file sizes are shown in KB, where 1KB = 1024 bytes.

Compare every platform in the spec cheat sheet

Specs and eligibility requirements change from time to time. Check Twitch's official help for the current information before uploading.

Why three sizes are required

The same emote is displayed at different sizes depending on where it appears.

  • 28×28px: as it scrolls past in chat. This is the size people see most
  • 56×56px: the emote picker and popups
  • 112×112px: detail views and anywhere it is shown large

If you only prepare the large size and leave the rest to automatic downscaling, it tends to turn into mush at 28px. Design against how it looks at 28px and you will not go wrong. PochiSta constantly previews how your design renders at actual 28px chat size.

Poor Legibility (Blurry at 24px)
Enlarged (128px)
Thank you very much
Actual Chat Size (24px)
Dark Theme
Thank you very much
Light Theme
Thank you very much

Thin serif font, 5+ characters, no outline: stroke details blend into background.

High Legibility (Clear at 24px)
Enlarged (128px)
GG
Actual Chat Size (24px)
Dark Theme
GG
Light Theme
GG

Bold sans-serif font, 2 characters, dual outline: maintains crisp contours on any background.

Subscriber Loyalty Badges: A Different Spec

In addition to emotes, Twitch lets creators reward tenure with subscriber loyalty badges displayed next to usernames in chat. Badges follow a completely different specification:

  • Emote Specs: 28×28px / 56×56px / 112×112px (Transparent PNG or animated GIF)
  • Badge Specs: 18×18px / 36×36px / 72×72px (Transparent PNG only, static, max 25KB each)

Subscriber badges render at just 18px in chat, demanding even clearer silhouettes and distinctive tier colors. PochiSta Loyalty Badge Maker automatically converts a single transparent PNG into all tier variants (Bronze, Silver, Gold, etc.) across the three required dimensions.

Watch out for animated emotes

Twitch supports animated (GIF) emotes, but the constraints are tighter than for static ones.

  • There is a size limit: more frames, more colors and larger motion all make the file heavier
  • You still need the static version: it is used where animation is disabled
  • Fine motion does not read at 28px: large, unambiguous motion (shaking, bouncing) is recognized far better than subtle movement

If you go over the limit, lower the effect intensity, raise the playback speed to use fewer frames, or move to a design with fewer colors. PochiSta automatically adjusts colors and frame count when the limit would be exceeded, and warns you on the export screen if it still does not fit.

Checks before uploading

  • Is the background transparent (no leftover white square)?
  • Is it square?
  • Can you tell what it is at 28px?
  • Do you have all three sizes?
  • If animated, is it within the size limit?

PochiSta exports all three sizes to a single ZIP in one go, so there is no need to re-export size by size.

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