Guide · Twitch
How to make animated Twitch emotesFrom idea to an upload that goes through.
Short version: you need Affiliate or Partner, a square GIF of at most 60 frames, either one file between 112 and 4096 px under 1 MB or three files at 112, 56 and 28 px under 512 KB each, and no more than three flashes in a second. Below is how to get there, with or without drawing every frame yourself.
Who can upload animated emotes
Animated emotes are a Twitch Affiliate and Partner feature. If you don’t have emote slots yet, you can’t upload any emotes; if you’re Affiliate, animated emotes use the same slots as static ones. Twitch also offers a set of built-in animation effects (shake, spin, rave and so on) that it can apply to an existing static emote — useful, but they animate the whole image rather than your character’s pose.
If you’re not Affiliate yet, make the animated versions anyway and upload the static PNGs today. When you reach Affiliate, the animated files are ready, and your viewers already know the character.
The technical rules
- Format: GIF. Square.
- Auto-resize upload: one file, 112 to 4096 px on a side, up to 1 MB. Twitch makes the three sizes.
- Manual upload: three files at 112×112, 56×56 and 28×28, each up to 512 KB.
- Frames: up to 60.
- Flashing: no more than 3 flashes in any one second (an accessibility rule).
- Thumbnail: the first frame is shown where the emote can’t animate, so it should show the emote clearly.
Twitch’s Help article on animated emotes is the source for these numbers; check it if a rule changes. The free emote checker on this site tests a file against all of them at once.
Step 1: plan the loop
A good animated emote is one gesture that loops: a wave, a nod, a laugh, a sip. It reads in under a second and doesn’t need a beginning or an end. Before drawing anything, write the gesture in one line (“waves hello with one hand”) and decide where the peak is — the moment that would work as a still image. That peak will be your first frame.
Keep it to a bust shot. At 28 px a full body becomes a smudge; a face and hands carry the emotion. Exaggerate: a smile in a photo is a grin in an emote.
- 6–12 frames is plenty for most gestures. Eight frames at 120 ms is just under a second.
- Avoid flashing colors, strobing backgrounds and fast full-screen brightness changes.
- Keep the character in the same place in every frame; move only what needs to move.
Step 2: draw or generate the frames
There are three common ways to get frames. Draw them by hand in Procreate, Aseprite, Krita or Photoshop with onion skinning — the most control, and the most time. Animate a single drawing with puppet warps or bone tools — fast, and good for wobbles and bounces. Or generate a sprite sheet with AI — fast, but you need a way to keep the character consistent.
On this site we use the third route with a guard rail: first you lock a character sheet, then each emote is drawn as one 4×2 sprite sheet (eight frames in one image) with the sheet as a reference. Drawing all frames in one image keeps them consistent with each other; the sheet keeps them consistent with your other emotes.
Step 3: line up the frames
Jitter — the character twitching a few pixels between frames — is the most common thing that makes a homemade animated emote look cheap. When frames are drawn or generated separately, the character’s position drifts. Fix it by aligning every frame to a fixed point: the center of the head horizontally, and the bottom edge vertically.
Our slicer does exactly that: for each frame it finds the character (pixels more than about 16% opaque), takes the top 40% of its outline as the head, centers that, and puts the bottom edge on the same line in every frame. Then all frames go onto one square canvas with the same scale.
Step 4: export small enough
GIF has two quirks that matter for emotes. Transparency is on or off per pixel — no soft edges — so anti-aliased edges against a transparent background turn into a halo. And every frame is limited to 256 colors. Both are why a white or dark outline around the character helps: it gives the edge something to blend into.
- 1Resize first
Scale down in halves rather than in one jump; outlines survive better at 28 px.
- 2Threshold the alpha
Make every pixel fully opaque or fully transparent before encoding, so edges are clean.
- 3Use one palette
One shared palette for all frames avoids flicker and saves bytes.
- 4If too big
Reduce colors (256 → 128 → 64), then drop every other frame and double the delay so the speed stays the same.
- 5Set disposal
Use “restore to background” between frames so transparent areas don’t smear.
A 112 px eight-frame emote with a clean palette usually lands far under 512 KB; the 28 px file is often a few kilobytes.
Step 5: choose the first frame
Twitch shows the first frame where animation is off or not supported. If your loop starts on a neutral pose, your laughing emote looks like a blank face in those places. Rotate the frames so the loop starts at the peak — the widest laugh, the hand fully raised. Our exports start on the middle frame of the loop for this reason.
Step 6: upload
- 1Open the emote page
Creator Dashboard → Viewer Rewards → Emotes.
- 2Choose animated
Pick the animated option and either “auto resize” with the 512 px file or manual upload with all three sizes.
- 3Name it
Your prefix plus a short code (for example yournameHi). Keep codes readable — people type them.
- 4Assign a tier
Follower, Tier 1, 2 or 3, or Bits.
- 5Wait for review
New emotes may be reviewed before they go live; holiday weeks are slower.
Common rejections and fixes
- “File too large” — the manual sizes must each be under 512 KB. Cut colors or frames.
- Wrong dimensions — the file must be square and, for manual upload, exactly 112, 56 or 28 px.
- Too many frames — more than 60. Remove every other frame and double the delay.
- Flashing — strobing brightness. Slow the loop or calm the colors.
- Guidelines — emotes can’t include other people’s likeness without consent, hateful content or copyrighted characters.
If you made your emotes elsewhere, run them through the emote checker before uploading; it shows which rule a file breaks.
Ten loops that work as emotes
- Wave — the hello emote every channel uses.
- Thumbs up with a nod — GG, agreed, nice.
- Laugh with eyes squeezed shut — LOL.
- Jump with fists up — hype moments and raids.
- Hearts floating up — love, thanks for the sub.
- A tear rolling down — sad, F in chat.
- Sipping a drink — drama, “I’m just watching”.
- Nodding off with Z’s — BRB, late streams.
- Facepalm — the classic reaction to a misplay.
- Head shake — no, absolutely not.
Each is one gesture with a clear peak, and each still reads as a still image on its first frame. That’s the test for a good animated emote idea.
Choosing the speed
Frame delay changes the feel more than you’d expect. At 160 ms per frame, an eight-frame wave is calm and readable; at 80 ms it’s frantic. Most reactions sit around 100–120 ms. Fast loops also raise the risk of tripping the flashing rule if colors change a lot between frames, so slow down anything with big color shifts — sparkles, flames, hearts.
FAQ
Frequently asked questions
Can I make animated Twitch emotes for free?
Yes, if you draw and export them yourself with free tools such as Krita or Aseprite and a resizer. The free Twitch emote resizer here handles sizing and limits.
How many frames should an animated emote have?
Up to 60 are allowed; 6–12 is usually enough. Eight frames at 120 ms each make a loop of just under a second.
What frame delay should I use?
80–160 ms per frame. Faster loops feel energetic but can trip the flashing rule if colors change a lot.
Why does my GIF have a white halo?
GIF transparency is all-or-nothing, so soft edges turn into a fringe. Threshold the alpha and add an outline.
Should I use auto-resize or manual upload?
Auto-resize is simpler; manual upload lets you make sure the 28 px version is still readable. Our exports include both.
Can non-Affiliates use animated emotes?
Not as Twitch emotes on their own channel: only Affiliates and Partners can upload them. Extensions such as 7TV and BetterTTV are the usual workaround.
Do animated emotes work on mobile?
Yes, Twitch plays animated emotes in its apps; where animation is off, the first frame is shown.
Skip the frame-by-frame part
Lock your character and get eight animated emotes sized and checked for Twitch.