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.
| Use / size | Format | Size limit |
|---|---|---|
| 112×112pxlarge | PNG (static) | — |
| 56×56pxmedium | PNG (static) | — |
| 28×28pxsmall | PNG (static) | — |
| 112×112pxlarge | GIF (animated) | 1024KB |
| 56×56pxmedium | GIF (animated) | 1024KB |
| 28×28pxsmall | GIF (animated) | 1024KB |
Note: file sizes are shown in KB, where 1KB = 1024 bytes.
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.
Thin serif font, 5+ characters, no outline: stroke details blend into background.
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