Short answer
Upload one square PNG between 112×112 and 4096×4096 px, under 1 MB, and let Twitch's auto-resize make the smaller sizes. Or turn auto-resize off and upload three PNGs at 28×28, 56×56 and 112×112. Use a transparent background. Upload in the Creator Dashboard under Viewer Rewards › Emotes.
Emote requirements
| Standard emote | Animated emote | |
|---|---|---|
| Format | PNG, transparent background | GIF |
| Auto-resize upload | One square image, 112 to 4096 px | One square GIF, 112 to 4096 px |
| Manual upload | 28×28, 56×56 and 112×112 px | 28×28, 56×56 and 112×112 px |
| File size | 1 MB max | 1 MB (auto-resize), 512 KB per file (manual) |
| Other limits | Square only | 60 frames max; no flashing more than 3 times a second |
Step by step
Set an emote prefix
In the Creator Dashboard, open Viewer Rewards › Emotes. If you don't have an emote prefix yet, set one; every emote code starts with it.
Choose a slot
Under Subscriber Emotes, click the + under the tier you want, or click Upload New to add it to your library first.
Upload the image
With auto-resize on, upload your single square PNG. With it off, upload each of the three sizes into its box.
Name the emote
Type the emote code. It's added to your prefix, so a prefix of abc and a code of Love make abcLove.
Submit and wait for approval
Click Upload Emote. Emotes are reviewed before viewers can use them, unless your channel qualifies for instant upload. Pending emotes show a watch icon.
Making emotes that read at 28 px
- Exaggerate the expression and crop tight. Empty space around the character wastes pixels.
- Add a thin outline so the emote holds up on both light and dark chat.
- Avoid words. If you must use one, keep it to a short word in heavy letters.
- Check every emote at 100% zoom before you upload it.
Who can upload
Custom emotes are for monetized streamers, such as Affiliates and Partners. Emotes must follow Twitch's emote guidelines, and Twitch can remove an emote that breaks them.



