channel points

Twitch Emote Size Mistakes That Get Uploads Rejected or Blurry (2026 Fix List)

Nargis Published 11 min read
Graphics tablet and stylus beside colour swatch cards, representing precise twitch emote size design work.

Heads up: TwitchElement sells stream overlays and widgets, and some links in this post go to our shop. The advice stands on its own either way.

You hit Affiliate, you commissioned three emotes, and now the upload panel is throwing a red error at you with no explanation. Nine times out of ten that's a twitch emote size problem rather than an art problem. Or worse: it accepted them, and your chat is full of 28x28 smudges that nobody can read. We've built emote and badge sets for 500+ streamers since 2019, and the same four twitch emote size mistakes cause almost every rejection we get sent. Here's the full spec sheet and the fixes.

TL;DR

  • Emotes: 112x112, 56x56, 28x28 px. PNG or GIF. 25KB hard cap per file. Transparent background, RGB, square canvas.
  • Sub badges: 72x72, 36x36, 18x18 px. PNG only, no animation. Different numbers from emotes, and that trips people up constantly.
  • Channel Points icons: 28x28 static PNG. No animated option, no three-size ladder.
  • Auto-resize mode is fine for flat vector art and awful for anything with texture, thin lines or small text. Upload manually in those cases.

The Exact Pixel Sizes Twitch Never Explains Clearly (Emotes vs Badges vs Channel Points)

Almost every guide on the first page of Google lumps all three asset types under "twitch emote size" and calls it done. That's why we get support emails from people who exported a beautiful 112px badge set and can't work out why the upload panel keeps refusing it. Badges aren't emotes. They have their own ladder, their own format restrictions, and their own failure modes.

Here's the whole thing in one place. Cross-checked against the official Twitch emote guidelines at time of writing, because Twitch does quietly adjust these.

Asset Sizes (px) Format Max file size Animation

Emote 112x112, 56x56, 28x28 PNG or GIF 25KB per file Yes (GIF, separate slots)
Sub badge 72x72, 36x36, 18x18 PNG only 25KB per file No
Channel Points icon 28x28 PNG (static) 25KB No
Bits badge / cheermote tiers 72x72, 36x36, 18x18 PNG 25KB No

Two numbers to burn into your brain: 28 is the emote floor, 18 is the badge floor. That ten-pixel gap is where most designs die. A badge that reads fine at 28 can turn into a grey pill at 18. If you only remember one twitch emote size rule, make it that pair.

Real talk: We sell emote and badge design packs, so treat us as biased. But the spec numbers above aren't ours to spin, they're Twitch's, and you can verify every one of them in the help docs before you trust a word we say.

Why Auto-Resize Mode Might Be Wrecking Your Emote Before You Even Upload It

When you add an emote, Twitch offers you Auto-resize mode (drop one 112px file, it generates the 56 and 28 for you) or Manual mode (you upload all three yourself). Auto-resize is the default and it's the single biggest cause of the "why do my twitch emotes look blurry" search that brought a lot of you here. It's also why people who got every twitch emote size number exactly right still end up with mush in chat.

The reason is boring and mechanical. Auto-resize does a single-pass downscale of your 112px file. There's no sharpening, no hinting, no chance for you to redraw anything. When a 3px outline gets scaled to 28x28, it becomes 0.75px, and the resampler averages that into a soft grey ghost. Your crisp black linework becomes mud. Vector-flat art with fat shapes survives it. Painted texture, gradients, thin whiskers, tiny eyes and any lettering do not.

Twitch emote auto resize vs manual: the decision rule

Ask three questions. Two or more "yes" answers mean go Manual.

  1. Does the art contain any line thinner than roughly 4px at the 112 size?
  2. Does it contain text, numbers, or a recognisable small detail (pupils, teeth, a logo)?
  3. Is it painted or textured rather than flat-fill vector?

Manual mode means you export three separate files and, ideally, you redraw the 28px one rather than just shrinking it. That's the part nobody says out loud. At 28x28 you're doing pixel art, not illustration. Thicken the outline, drop one detail, exaggerate the expression by 30%. We've had clients tell us the 28px version looks "wrong" on its own canvas and perfect in chat. That's the goal.

Twitch emote size procreate and Photoshop workflow

The workflow that's survived hundreds of client handoffs: sketch at about 500x500, blow up to 2000x2000 at 300 dpi minimum, finish the art there, then shrink the PNG down to 112, 56 and 28. Working huge then reducing gives the resampler more information to throw away. In Procreate, set your canvas before you start, because Procreate caps layer count based on canvas size and you cannot resize up later without mush. Export as PNG with transparency on, not JPEG, not flattened.

Any decent twitch emote resizer tool will spit out the three sizes for you in seconds. They're fine for the 112 and 56. Do the 28 by hand.

The 25KB Wall: How File Size Kills More Emotes Than Bad Art

Twenty-five kilobytes. That's the ceiling per file for emotes, badges and Channel Points icons alike. It's the one twitch emote size rule that has nothing to do with pixels, which is exactly why it blindsides people. A static 112x112 PNG almost never gets close, so people assume file size is a non-issue and then get caught out by animated slots and by badly exported files.

Things we've watched push a 112px PNG over 25KB in real uploads:

  • Exporting at 300 dpi. DPI is meaningless for screen assets but it bloats metadata and, in some exporters, actual pixel dimensions.
  • Saving from a print-oriented preset that embeds an ICC colour profile and an EXIF block.
  • CMYK colour mode. Twitch wants RGB. CMYK files either get refused or come back with sickly, desaturated colour once converted.
  • A white box instead of transparency. Not a size issue, but it's the second most common rejection we see, and it's usually someone exporting from a program where the background layer was never hidden.

Run every finished file through a lossless PNG compressor before upload. It typically strips 30 to 60 percent of the weight with zero visible change, because most of what it removes is metadata and unused palette entries. If you're still over 25KB on a static emote, you've got a resolution problem, not a compression problem.

Badge Sizing Mistakes That Get Overlooked Until Your Mod Team Complains

Twitch sub badge size pixels: 72, 36, 18. Write it somewhere. Badges live at a scale that punishes ambition, and the complaints arrive late because you designed them on a 27-inch monitor and your chat reads them on a phone.

The mistakes we see repeatedly across client sets:

  1. Tier numbers as literal digits. A "12" inside an 18x18 badge is unreadable. Use colour shifts, added elements, or metal-tier progression instead. Your 1-month and 12-month badge need to be distinguishable by silhouette and hue, not by reading anything.
  2. Same shape across all tiers. If every badge is a circle with a different colour, colourblind viewers and phone users see one badge. Change the outline shape.
  3. Uploading the 72px file into the 18px slot. Twitch will scale it and it will look like a thumbprint.
  4. Forgetting the badge sits next to the username. Very dark badges vanish against dark mode chat. Add a 1px lighter rim.
  5. Animated badge files. There's no animated sub badges slot. GIFs get rejected outright here, unlike emotes.

Slot counts shape how you plan all this, so your twitch emote size workflow should start with slot maths rather than with art. Twitch Affiliate gets a small starting allocation of emote slots that grows with your sub count, while Twitch Partner opens up a much larger ladder plus more flexibility on tier-locked uploads. Practical consequence: as an Affiliate, batch-design a family of five that reads at 28px before you commission fifteen. Partners planning a full refresh should size the whole set in one session so the 28px pass is consistent across the lot, because doing it emote-by-emote over six months is how you end up with a chat full of mismatched line weights.

And yes, BTTV and 7TV have looser rules, which is exactly why people get caught out. An emote that looks fine as a BTTV upload can fail Twitch's native panel. Different platform, different specs.

Animated Emote Traps: GIF Frame Rate, File Weight, and the Rejection Nobody Warns You About

Animated emotes are where the 25KB cap turns from formality into a genuine design constraint. It's the one place twitch emote size and animation budget fight each other directly. Same three sizes, same cap, but now you're spending that budget across every frame. This is the twitch animated emote size problem in one sentence: every frame you add steals pixels from every other frame.

Twitch's animated emote documentation lays out the frame and duration limits, and they're tighter than most people expect. What that means in practice:

  • Cut frames before you cut quality. A 12-frame loop at full clarity beats a 30-frame loop that's been dithered into noise.
  • Design for loop, not for story. Emotes get spammed. A seamless 1-second bounce outperforms a 3-second narrative nobody watches twice.
  • Reduce your palette deliberately. GIF caps at 256 colours. Choose which 64 you want rather than letting the exporter guess.
  • Avoid full-canvas motion. GIF compresses by storing frame differences. If the whole 112x112 area changes every frame, file size explodes. Move one element, keep the rest static.
  • Beware semi-transparent edges. GIF transparency is binary, on or off. Soft anti-aliased outlines turn into jagged halos. Design with hard edges or accept the fringe.

The rejection nobody warns you about: a twitch emote size gif that passes at 112 can fail at 28, because the smaller canvas doesn't automatically mean a smaller file once dithering kicks in. Test all three before you submit, not just the big one.

The Twitch Asset Size Cheat Sheet (Save This)

Copy this into your notes app, your commission brief, or the pinned message in your design channel. It's the whole twitch emote size spec, plus badges and Channel Points, in one block.

Check Emotes Sub badges Channel Points icons

Required sizes 112 / 56 / 28 px 72 / 36 / 18 px 28x28 px
Format PNG or GIF PNG only PNG, static only
Max file size 25KB each 25KB each 25KB
Background Transparent Transparent Transparent
Colour mode RGB RGB RGB
Canvas ratio 1:1 square 1:1 square 1:1 square
Animation allowed Yes, GIF slots No No

Pre-upload checklist, run it every time:

  1. Three files per emote, named clearly (name_112, name_56, name_28).
  2. Background layer hidden and transparency confirmed by opening the PNG over a dark surface.
  3. Colour mode set to RGB, colour profile stripped.
  4. Every file under 25KB after lossless compression.
  5. 28px version viewed at 100% zoom on a phone screen. Can you tell what it is in under half a second?
  6. No trademarked characters, no text that violates the guidelines, nothing that will get the set pulled after approval.

Auto-resize vs manual, three questions: thin lines under 4px? Small text or fine detail? Painted or textured? Two yes answers means Manual mode and a hand-drawn 28px pass.

Where Twitch Emote Size Fits in the Rest of Your Channel Kit

Twitch emote size is the fiddliest part of channel branding and also the most visible, because those 28 pixels sit in chat thousands of times a night while your beautiful 1920x1080 overlay just sits there. Get the small stuff sharp first.

If you'd rather skip the three-size export dance entirely, our Twitch emotes and badges collection ships every asset pre-sized to 112/56/28 and 72/36/18, transparent, under the 25KB cap, with the 28px versions hand-optimised rather than auto-scaled. Same logic applies to the rest of your setup: our stream overlay packages and chat widgets are built so your emotes read against the backgrounds they land on.

Stuck on a rejection you can't diagnose? Drop the file in our Discord and we'll tell you which of the four patterns it is. We've seen most of them twice.

Want this on your stream tonight?

Browse ready-made widgets built for StreamElements and OBS, or start with a free one to try the setup first.

Frequently Asked Questions

What is the correct size for a Twitch sub badge?

Sub badges need three PNG files at 72x72, 36x36 and 18x18 pixels, each under 25KB with a transparent background. Those numbers are different from emotes, which use 112/56/28, and mixing them up is one of the most common upload failures we see. Badges cannot be animated, so a GIF will be rejected in these slots regardless of size.

Why does my Twitch emote look blurry or pixelated at small sizes?

Usually because auto-resize mode downscaled your 112px file in one pass with no sharpening, turning thin outlines into soft grey smears. Painted textures, gradients and any small text suffer the worst. The fix is manual mode with a hand-optimised 28x28 version where you thicken lines, remove one or two details and exaggerate the expression so it reads at chat size.

Can I upload a GIF as a Twitch emote?

Yes, for animated emote slots, but the 25KB ceiling applies per file and every frame eats into that budget. Keep loops short and seamless, limit the palette, and only animate part of the canvas since GIF compresses by storing frame differences. Note that GIF transparency is on or off, so soft anti-aliased edges will show jagged halos.

What size are Twitch channel points icons?

Channel Points icons are a single 28x28 pixel static PNG, transparent background, under 25KB. There is no three-size ladder and no animated option, which makes them the tightest canvas on your entire channel. Design them as pixel art rather than shrinking an illustration down.

Does Twitch auto-resize emotes for me or do I need to upload three sizes?

Twitch offers both. Auto-resize mode accepts one 112px file and generates the 56 and 28 versions, which works acceptably for flat vector art with thick shapes. Manual mode lets you upload all three yourself, and it is the better choice whenever your art has lines thinner than about 4px, small text, or painted texture.

One question for you: Auto-resize or manual triple-upload: which one actually gave you cleaner emotes, and has Twitch ever rejected your auto-resized version?

About the author: naskdesign has streamed on Twitch since 2020 (~8,000 hours live) and founded TwitchElement in 2019, serving 500+ streamers across Twitch, YouTube, Kick, and TikTok. Catch the streams on Twitch, the research on Google Scholar, or come hang out in the TwitchElement Discord.

Share this article

Nargis

Written by

Nargis

Founder of TwitchElement · Twitch streamer since 2020

Has designed stream overlays and widgets for 500+ streamers since 2019 and streamed more than 8,000 hours on Twitch.

Watch on Twitch

Get new free widgets first

One email when we release a new freebie or widget. See the current freebies.