Free tool · runs in your browser

Will your emote read in chat?

Twitch renders emotes at 28×28 pixels. Drop yours in and see exactly what chat sees — plus a score and the specific fixes that raise it.

Drop a PNG, GIF or WebP

or

Your file never leaves this device.

No emote handy?

What makes an emote readable at 28 pixels?

At 28×28 an emote has 784 pixels total, and the subject rarely gets more than a third of them. Four things decide whether it survives the downscale: a single coherent silhouette, enough contrast against both chat themes, hard edges rather than soft shading, and a subject that fills the square instead of floating in it.

Everything else — shading, texture, fine detail, small text — is decoration that gets averaged away. That is why the emotes people actually spam in chat are almost all chunky shapes with heavy outlines.

How this checker scores an emote

The tool downscales your image to 28×28 with a premultiplied box filter, then measures the result the way a viewer would see it:

  • Silhouette — connected components of the opaque mask. One blob reads; six blobs turn to dust.
  • Visible share — the fraction of the emote clearing 3:1 contrast against dark chat (#18181B) and light chat (#F5F5F5). Both must work.
  • Edge softness — how much of the shape ends up semi-transparent after downscaling.
  • Fill — subject area as a share of the canvas.
  • Border bleed — art touching the edge gets clipped in chat.

The score is a weighted blend, and every finding comes with a concrete fix. Nothing about your file is uploaded or stored.

Twitch emote size requirements

Twitch asks for three square files: 112×112, 56×56 and 28×28 pixels, as PNG or GIF, each under 1 MB. Animated emotes must be GIF, under 1 MB, at most 60 frames. In practice the 28×28 version is the only one most viewers ever see.

PlatformSizeFormatLimit
Twitch (static)112 / 56 / 28PNG1 MB each
Twitch (animated)112 / 56 / 28GIF1 MB, 60 frames
Discord emoji128PNG / GIF256 KB
Discord sticker320PNG / APNG512 KB
YouTube48–480PNG1 MB, no animation
Slack128PNG / GIF128 KB

Questions

Why does my emote look fine at 112px but blurry in chat?

Because 112px is the picker size. Chat renders 28px, and reducing a detailed image by 4× averages neighbouring pixels together — thin lines, small text and soft gradients are the first things to disappear. Design at 28px first and scale up, not the other way round.

Does this checker upload my emote?

No. Decoding, downscaling and scoring all happen in your browser with Canvas and typed arrays. There is no upload request, and nothing is stored.

Can I use an AI-generated emote on Twitch?

Yes. Twitch reviews what an emote shows, not how it was made. The rules cover hateful content, sexual content, violence and other people's trademarks — not the production method.