Twitch Emote Size Guide
Twitch emotes are uploaded as transparent PNGs in three square sizes — 28×28, 56×56 and 112×112 pixels, each under 1 MB. Sub badges use 18, 36 and 72 px; animated emotes are a single GIF at 112×112 with up to 60 frames. This guide is the complete reference, including why uploads get rejected.
What sizes do Twitch emotes need to be?
Twitch requires every static emote as a set of three square, transparent PNG files. All three must be uploaded together — the small sizes are what most viewers actually see in chat.
| Asset | Sizes | Format | Max file size |
|---|---|---|---|
| Static emote | 28×28, 56×56, 112×112 px | PNG (transparent) | 1 MB per file |
| Animated emote | 112×112 px (one file) | GIF | 1 MB, max 60 frames |
| Sub badge | 18×18, 36×36, 72×72 px | PNG (transparent) | 25 KB per file |
The 28 px version is what chat shows at default zoom on desktop — if your emote is not readable at 28×28, it does not work as an emote, no matter how good the 112 px art looks. Always judge your design at the smallest size first.
Twitch's uploader can auto-generate the smaller sizes from a single 112×112 (or larger square) image, but auto-downscaling fine details often produces mushy results. For emotes with thin lines or text, exporting each size separately and checking the 28 px version by hand gives noticeably better results.
Design at 112×112 (or larger, keeping a square canvas), but zoom your preview down to 28×28 while you work. Bold outlines, big shapes, one clear focal point and high contrast survive the downscale; fine hatching, long words and thin gradients don't.
Animated emote rules
Animated emotes are uploaded as a single GIF at 112×112 — Twitch generates the smaller chat sizes itself. The hard limits: 1 MB file size and a maximum of 60 frames. Short loops of one to two seconds at modest frame rates fit comfortably; long, high-fps animations blow the 1 MB cap fast.
Animated emote upload is available to Affiliates and Partners through the same emote manager as static emotes. The same readability rule applies doubly: motion has to read at 28 px, so favour one clear movement (bounce, shake, spin, wave) over complex multi-part animation.
Sub badge sizes
Subscriber badges sit next to usernames in chat and are uploaded in three sizes: 18×18, 36×36 and 72×72 pixels, as transparent PNGs under 25 KB each. At 18 px there is room for roughly one simple shape and two or three colours — badge sets that read as a progression (bronze → silver → gold, or a character levelling up) work best.
Badges and emotes are managed separately in the dashboard (Viewer Rewards → Channel Emotes / Subscriber Badges), but a matching art style across both makes the channel branding feel deliberate.
Why Twitch rejects emote uploads
The most common rejection and quality problems, in rough order of frequency: a non-square canvas (the uploader expects exactly square images); a white or solid background instead of real PNG transparency; visible halo pixels around the subject left over from sloppy background removal; file size over the limit (mostly animated GIFs); and emotes that violate the content guidelines (trademarks, explicit content, harassment symbols).
Twitch also reviews emotes after upload — an emote can go live and be removed later if it breaks the guidelines. Keeping your source files means you can fix and re-upload quickly.
Skip the resizing entirely
emote.gen exports every Twitch size (28, 56, 112 px) as clean transparent PNGs from one generation — pre-cut, halo-free, ready to upload.
Try the Twitch emote generatorHow to resize an emote without losing quality
Always scale down from a large square master, never up from a small one — upscaling a 28 px image produces blur that no sharpening fixes. From a 112 px (or larger) master, export each target size with a proper resampling filter; bicubic works for soft art, nearest-neighbour keeps pixel art crisp.
After downscaling, check two things at 28 px: that the silhouette still reads instantly, and that no semi-transparent edge pixels picked up a grey fringe. If the fringe appears, re-export with a matted edge or slightly thicker outline.
Twitch size FAQ
Static Twitch emotes are uploaded in three square sizes: 28×28, 56×56 and 112×112 pixels, each as a transparent PNG under 1 MB. Chat displays the 28 px version by default on desktop.
One GIF file at 112×112 pixels, maximum 1 MB and 60 frames. Twitch generates the smaller chat sizes automatically.
Sub badges are uploaded in three sizes — 18×18, 36×36 and 72×72 pixels — as transparent PNGs under 25 KB each.
Yes — the emote uploader can auto-generate 28 and 56 px from a square 112 px (or larger) image. For detailed art, manually exported sizes usually look sharper at 28 px.
Usually because chat shows the 28 px version: too much detail, thin lines or small text disappear at that size. Redesign with bolder shapes and outlines rather than trying to sharpen the small export.