TWITCHEMOTES

How to make animated Twitch emotes without Affiliate

Prepare a readable emote, remove its background, make a short animation, and choose a publishing route.

Square crop tool applied to an emote image
Cómo hacer emotes animados para Twitch sin ser afiliado

Short answer

You can prepare an animated emote without Photoshop or Affiliate status. Start with a square image that still reads at 112 by 112, remove the background, make a short GIF in MakeEmoji or EmoteJam, and check the publishing route. Twitch reserves channel emotes for monetized streamers, while BetterTTV works as an extension for viewers who install it.

Before you start

  • A Twitch account and current browser
  • An image you made or have permission to use
  • A simple editor, remove.bg, and MakeEmoji or EmoteJam
  • A short code and a chat for testing

Bring your setup to a 24/7 AI Streamer Coach

Ask Streamer Coach →

Get personalized feedback to fix streaming issues and plan your next content.

Step by step

  1. 01

    Choose a readable image

    Nicole Rojas | YouTube | 0:30 ↗

    Use a face, gesture, or object with a clear silhouette. Reduce a copy to 112 by 112 before decorating and view it at actual size, not zoomed in. If the eyes, mouth, or action already disappear, remove detail instead of enlarging the canvas. Keep the original file separate.

    What you should see: The thumbnail keeps a recognizable gesture.

  2. 02

    Crop it square

    Nicole Rojas | YouTube | 2:02 ↗

    Crop to 1:1 and leave room around the subject so animation does not cut hair or hands. Keep the large original. Preserve the large original for corrections and a separate export for the platform.

    What you should see: You have a square PNG ready.

    Square crop tool applied to an emote image
    Nicole crops the image to a square before removing its background. YouTube · 2:21 ↗
  3. 03

    Remove the background

    Nicole Rojas | YouTube | 2:32 ↗

    Upload to remove.bg, download the PNG, and clean white halos or missing areas. Test a static image in chat before the GIF so you know whether a problem belongs to the design or the extension.

    What you should see: The subject sits on clean transparency.

    remove.bg result with the subject on transparency
    The source workflow removes the background before the small emote export. YouTube · 2:50 ↗
  4. 04

    Resize and center

    Nicole Rojas | YouTube | 3:03 ↗

    Make the 112 by 112 version and check Twitch's current guide before export. View the emote beside normal messages and long usernames. Fast movement can disappear when reduced. If you use BetterTTV, tell the community it is an extension and availability depends on each viewer's browser. Check image rights and do not copy another person's face without permission.

    What you should see: The small file is recognizable without zoom.

    PicResize confirms a 112 by 112 pixel emote image
    The download confirms the small size that needs inspection before publishing. YouTube · 3:51 ↗
  5. 05

    Choose a route

    Nicole Rojas | YouTube | 4:05 ↗

    Check Viewer Rewards if your account is monetized and you want a native emote. For a channel without that access, BetterTTV is a separate route, but each viewer needs a compatible extension to see it. Choose the route before naming the code and explain that dependency when sharing the emote.

    What you should see: The route fits your account and audience.

  6. 06

    Animate one gesture

    Nicole Rojas | YouTube | 6:06 ↗

    Test one effect in MakeEmoji and lower its speed when the gesture becomes unclear. Nicole shows EmoteJam as another option. For the native route, Twitch limits an animated GIF to 60 frames and restricts rapid flashing. Check the current guide before downloading.

    What you should see: The loop has readable movement.

    MakeEmoji animated effect controls
    Nicole previews an effect and adjusts its speed before downloading the GIF. YouTube · 6:48 ↗
  7. 07

    Export and watch

    Nicole Rojas | YouTube | 6:37 ↗

    Open the GIF outside the editor and let it repeat at least five times. Check for jumps, flashes, and dirty edges. Twitch uses the first frame as the default thumbnail, so that frame must also work as a static emote.

    What you should see: You can inspect it before publishing.

  8. 08

    Publish and test

    Nicole Rojas | YouTube | 5:35 ↗

    Upload through the available panel or BetterTTV and choose a short code that does not collide with another one. Test it in a normal window, then ask for a second check on mobile or another browser. That second device reveals whether only you have the extension enabled.

    What you should see: The code appears through the chosen route.

If something does not work

It looks blurry
Return to the original, thicken important lines, and remove small details. Export another copy and inspect it at 112 by 112 without zoom.
A white edge appears
Clean the PNG and confirm transparency.
Viewers cannot see BetterTTV
Confirm the emote is enabled for the channel and each viewer installed a compatible extension. Test in a window where you are signed out too.
Twitch rejects it
Read the reason, check current rules, and correct the file.

Test before you go live

  • The thumbnail keeps a recognizable gesture.
  • You have a square PNG ready.
  • The subject sits on clean transparency.
  • The small file is recognizable without zoom.
  • The route fits your account and audience.
  • The loop has readable movement.

Cómo hacer emotes animados para Twitch sin ser afiliado

Watch the full tutorial ↗

Common questions

Can I use native emotes without Affiliate?

Twitch reserves native channel emotes for monetized streamers. BetterTTV is separate and each viewer needs a compatible extension. Keep a static fallback and test the code in another browser.

Will any GIF work?

No. Check current format, size, frame, and content limits.

Why 112 by 112?

It shows whether gesture and contrast survive chat.

Should I animate text?

Only when it stays readable in the smallest frame.

What should the first frame show?

A complete, recognizable expression. Twitch uses it as the default GIF thumbnail, so avoid starting on an empty frame or with the subject outside the canvas.