Resize it free, right now
No need to export three files by hand in an image editor — or to keep reading before you get to try it.
Drop in one image, get all three sizes back.
Crop it or keep the whole thing with transparent padding, preview the real 28px result, then download a single PNG or the whole set as a zip. No account, no watermark, nothing uploaded to a server.
The three sizes, precisely
One emote, three files. Twitch asks for all three because it shows your emote at three genuinely different scales depending on where a viewer encounters it.
All three are square. There's no rectangular option and no separate portrait or landscape variant — whatever the artwork is, it has to resolve to a square before any of these numbers apply.
Where each size actually shows up
The size that matters most isn't the one you'll spend the most time looking at while you design — it's the one your chat sees on every single message.
Live chat
Every single inline message, on desktop and mobile alike. If an emote reads clearly here, it's doing its job — almost nobody sees it any bigger than this.
Emote picker
Viewers browse the picker grid at roughly chat size, then hovering (or a long-press on mobile) pops open the full 112px version so they can see the detail before picking one.
Management page
Your own Creator Dashboard, where you upload, review and organise emotes by tier. It's the one place you'll reliably see your own emote at full size by default.
File format and weight
The dimensions get most of the attention, but Twitch checks a handful of other things on every upload too.
| Rule | Value | If you get it wrong |
|---|---|---|
| Format | PNG (GIF for animated) | Upload is rejected outright |
| Max file size | 1MB per file | Upload is rejected outright |
| Background | Transparent | A coloured box follows the emote around chat |
| Shape | Square | A rectangle isn't accepted |
| Colour mode | sRGB (the default in most editors) | Colours can look duller than in your editor |
Upload once, get three
Twitch doesn't require three separate uploads. One clean source, correctly sized, is enough.
Upload a single square PNG anywhere from 112px to 4096px, under 1MB, and Twitch generates the 56px and 28px versions for you automatically.
It shrinks reasonably well — but it can only shrink what you gave it. A design that's already busy at 112px arrives at 28px busy too, just smaller. The auto-resize saves you an export step, not a design decision.
The safer habit either way: look at the 28px result specifically, whether Twitch generated it or you exported it yourself, before you consider the emote finished.
'Twitch emote size' and 'Twitch emote dimensions'
Both point at the exact same three numbers.
Size and dimensionsget asked as if they might be different specs — they aren't. Whichever word finds this page, the answer is the same: 112×112, 56×56 and 28×28 pixels, each one a square, each one a transparent PNG under 1MB.
The only real distinction worth knowing is the one covered above — which of those three you actually need to worry about designing for, versus which one Twitch will happily generate for you.
Questions people actually ask
The short checklist
- 112×112, 56×56 and 28×28 pixels — all square
- Transparent PNG background, not white or off-white
- Under 1MB per file
- Checked at 28px specifically, not just judged from the management page
Keep going
The sizes, the file rules, and the design decisions that separate an emote people spam from one nobody can make out. Draw it, commission it or use a maker — this covers all three.
Drop in one image, get 112, 56 and 28px back with transparency intact. No account, no watermark.
72×72, 36×36 and 18×18 — the three sizes every Twitch sub badge needs, the 25KB cap, and a free tool that makes all three from one image.
The four requirements, roughly how long they take, and the emote slots waiting on the other side.
Have the art?
Resize it free.
Our free resizer turns one image into all three sizes above — crop or fit, transparency intact, no account and no watermark. Download one PNG or the whole set as a zip.
