Twitch emote maker

Turn a GIF, a short video, a picture or a typed word into a Twitch emote. Choose one square GIF for auto-resize, or three GIFs at 28, 56 and 112 pixels in a ZIP for manual upload. The tool keeps the frames to 60 or fewer, fits each file under its size limit, and estimates how much your emote flashes. It runs in your browser, with no upload.

Free · no sign-up · runs in your browser

Drop a GIF, video or imageor click to choose a file

GIF, PNG, JPG, WebP, MP4, MOV or WebM. GIFs and pictures up to 25.0 MB. The file is opened on your device and never uploaded.

File name: emoji. Names are lower case, with letters, numbers and underscores only.

Output
Size

Add a file to see the square crop box here.

Your emote

Press Make emote to get a file and the Twitch checklist.

These checks use the Twitch limits we checked on 7 Nov 2026. Check the current guidelines before you upload.

How to use it

  1. Add a clip or type a word

    Drop a GIF, a short video or a picture on the Upload tab, or switch to Text emoji and type a short word. Your file is opened on your device and never leaves it.

  2. Frame the square

    Drag the square box over the part you want to keep, or type its X, Y and size. If the clip sits on a plain colour, tick Remove plain background and adjust the tolerance.

  3. Choose auto-resize, manual or still

    Pick One GIF for auto-resize and a size, Three GIFs in a ZIP for manual upload, or Still PNG. Then type an emote name for the file names.

  4. Make it and read the checklist

    Press Make emote. The checklist shows size, dimensions, frames and the flashing estimate, and the previews show the emote at 28, 56 and 112 pixels. Then download the GIF or the ZIP.

Examples made with this tool

Every example below is a real output of this tool, made from one of our own files. The original is on the left and the emote file is on the right, with its size, dimensions and frame count.

  • The original for this example. A dancing yellow face emojiOriginal
    A dancing yellow face emojiEmote file
    A 320 × 320 GIF made for auto-resize at the default 112 × 112. The whole square is kept, and the file is a small part of what Twitch allows for one GIF.Settings usedSquare crop 320 × 320 px at 0, 0 · resized to 112 × 112 px with 255 coloursGIF 375 KB (320 × 320 px, 16 frames) → GIF 71.2 KB (112 × 112 px, 16 frames). Within the 1000 KB limit.
  • The original for this example. A smiling sun with a Good Morning bannerOriginal
    A smiling sun with a Good Morning bannerEmote file
    Auto-resize takes bigger squares too. This one is 224 × 224 with its transparency kept, and it is still under the limit for a single file.Settings usedSquare crop 320 × 320 px at 0, 0 · resized to 224 × 224 px with 255 coloursGIF 503 KB (320 × 320 px, 16 frames) → GIF 276 KB (224 × 224 px, 16 frames). Within the 1000 KB limit.
  • The original for this example. A cartoon bear holding a red heartOriginal
    A cartoon bear holding a red heartEmote file
    Manual mode. The tool makes three GIFs at 28, 56 and 112 pixels, checks each against its own limit and puts them in one ZIP. The picture shows the 112 pixel file; the other two sizes are listed under the settings.Settings usedSquare crop 320 × 320 px at 0, 0 · resized to 112 × 112 px with 255 colours · three files: 28 px 4.7 KB, 56 px 16.6 KB, 112 px 57.5 KB; ZIP 79.1 KBGIF 510 KB (320 × 320 px, 16 frames) → GIF 57.5 KB (112 × 112 px, 16 frames), ZIP 79.1 KB. Within the 512 KB limit.
  • The original for this example. A red angry faceOriginal
    A red angry faceEmote file
    A sticker repeated four times to make a long GIF with more frames than Twitch allows. The tool keeps every second frame and adds the delays of the dropped ones to the frame before, so the clip lasts as long as it did.Settings usedSquare crop 160 × 160 px at 0, 0 · resized to 112 × 112 px with 255 colours · thinned to one frame in every 2, delays mergedGIF 299 KB (160 × 160 px, 64 frames) → GIF 131 KB (112 × 112 px, 32 frames). Within the 1000 KB limit.
  • The original for this example. The letters LOL shaking on a transparent backgroundTyped text
    The letters LOL shaking on a transparent backgroundEmote file
    The Text emoji tab with the shake motion. A small shake moves the letters but hardly changes the brightness, so the flashing estimate stays quiet.Settings usedThe word “LOL” with shake, on a transparent square · resized to 112 × 112 px with 255 coloursTyped text → GIF 10.0 KB (112 × 112 px, 12 frames). Within the 1000 KB limit.

Auto-resize or manual: which to use

Twitch's guidelines describe two ways to upload an animated emote. In auto-resize mode you upload one square GIF between 112 × 112 and 4096 × 4096 pixels, up to 1 MB, and Twitch makes the smaller sizes. In manual mode you upload three GIFs yourself, at 28 × 28, 56 × 56 and 112 × 112 pixels, each up to 512 KB.

Pick One GIF when you are happy to let Twitch make the small versions. The tool offers 112 × 112 by default, and 224 and 448 when your cropped square is big enough. Pick Three GIFs in a ZIP when the small versions matter. A 28 pixel emote needs bolder shapes than a 112 pixel one, and making each size separately lets you check every file on its own.

The 60-frame limit and the thumbnail

Twitch allows at most 60 frames in an animated emote. When a clip has more, the tool keeps every second, third or fourth frame, whatever it takes to reach 60 or fewer, and adds the delays of the dropped frames to the frame before. The emote still lasts as long as the original, and it just plays with fewer, longer frames.

Twitch uses the first frame as the still thumbnail unless you set a custom one. The first frame of your GIF is therefore the picture people see before it plays, so look at it. A frame in the middle of a blink or a wave makes a poor thumbnail, so trim the clip to start on a good frame.

The flashing estimate

Twitch says an animated emote must not flash or flicker more than three times in one second. The tool cannot know how Twitch will judge your emote, but it can warn you. It measures the average brightness of every frame, counts each jump of more than a fifth of the full brightness range, up or down, including the jump from the last frame back to the first, and reports the most jumps it finds in any one second of the looping GIF.

More than three in a second triggers the warning. This is our own estimate and not Twitch's review. A black and white strobe will warn, a calm bounce or a slow glow will not, and anything in between is a judgement call. Counting every jump rather than every full flash is deliberately strict. Treat the result as a hint to soften a flicker, and read Twitch's guidelines before you upload.

Uploading to Twitch

Animated emotes are not open to every channel. Eligibility depends on the channel's status, and Twitch's pages explain which channels qualify. We do not list the details here because they change. Twitch's help pages also describe where the emote upload screen is and how review works.

Twitch reviews emotes against its own rules, which can change. Treat this tool's checklist as a pre-flight check and read Twitch's current guidelines before you upload.

Why your upload fails

The usual causes are a file that is not square, a size over the limit, more than 60 frames, an emote that flashes, or manual files that are not exactly 28, 56 and 112 pixels. The checklist covers the size, the dimensions, the frames and the flashing estimate, and the ZIP is built with exactly those three sizes.

Standard emotes that are not animated are static PNG files, and Twitch lists their own rules. This tool saves a still PNG at 28, 56 or 112 pixels but does not check it against a size limit, because we did not verify one. An emote can also be turned down because of the channel's eligibility or Twitch's own review, and a file tool cannot see either.

Other emoji makers and file tools

The same engine for another service, or a tool for the step before or after.

When this tool helps

  • A channel emote from a clip

    Turn a short moment from a stream recording into a looping emote.

  • A reaction for chat

    Crop a character or a face to a square and keep the background transparent.

  • A word as an emote

    Make a short word such as LOL bounce, wave or shake without a source file.

  • Three sizes for manual upload

    Get the 28, 56 and 112 pixel versions in one ZIP, each checked on its own.

  • A calmer version of a flashy GIF

    See how much a clip flickers and decide whether to soften it before you submit.

How this tool works and its limits

What the tool does, what it assumes and where it stops.

  • Your file never leaves your device. It is opened, cropped and encoded in your browser, with no upload, no account and no watermark.
  • The limits in the box were checked on 7 November 2026 against Twitch's Animated Emotes and emote formatting guidelines. Twitch can change them, so read its current guidelines before you upload.
  • Twitch writes 1 MB and 512 KB without saying whether a KB is 1,000 or 1,024 bytes. The checks use 1,000, which is the stricter reading, and the checklist shows sizes the same way.
  • The flashing estimate is ours. It counts big brightness jumps in the busiest second and warns above Twitch's stated limit, but Twitch's own review decides what is accepted.
  • The still PNG option makes 28, 56 or 112 pixel files but checks no size limit, because we did not verify one for static emotes.
  • GIF transparency is on or off, with no soft edges. Soft edges blend toward the edge colour you pick. Background removal works on plain or near-plain backgrounds only.
  • We built and tested the tool in current desktop Chrome. It relies on features your browser reports, and the list below checks yours live. We have not tested every browser.

Does your browser support this?

This list is checked against the browser you are using right now, by asking it directly. It is not a guess from the browser name.

  • GIF files: checking
  • Background encoding (Web Workers): checking
  • Video decoding (WebCodecs): checking

Questions, answered

What size is a Twitch emote?

For animated emotes Twitch lists two ways: one square GIF from 112 × 112 to 4096 × 4096 pixels for auto-resize, or three GIFs at 28 × 28, 56 × 56 and 112 × 112 pixels for manual upload. This tool makes either one.

How many frames can a Twitch emote have?

At most 60, according to Twitch's guidelines. The tool thins longer clips by keeping every second, third or fourth frame, and it merges the delays so the emote lasts as long as before.

How big can an animated emote file be?

Up to 1 MB for the one GIF in auto-resize mode, and up to 512 KB for each of the three files in manual mode. The tool tries stronger settings until each file fits, and says so if one cannot.

What does the flashing estimate mean?

Twitch says an emote must not flash or flicker more than three times in one second. The estimate counts large brightness jumps in your busiest second and warns when there are more than three. It is our own estimate, not Twitch's review.

Can any channel use an animated emote?

Not necessarily. Twitch's pages say animated-emote eligibility depends on the channel's status. Read Twitch's current guidelines for the details. This tool only prepares the file.

Is my file uploaded, and is there a watermark?

No. The file stays in your browser, you need no account, and the tool adds no watermark. The AI tab is separate: it links to the AI sticker generator, which costs 1 credit per sticker and needs a signed-in account.