SPEC + FREE TOOL

Twitch sub badge size + resizer

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.

Updated July 20267 min read
The short version

A Twitch sub badge needs three square sizes — 72×72, 36×36 and 18×18 pixels — each a transparent PNG under 25KB. Upload all three together for each tenure milestone.

The part that surprises people coming from the emote spec: those three sizes aren't three different places badges show up. They're one spot— beside a subscriber's name — rendered at three pixel densities for different screens.

Already have the art? Skip straight to the free resizer below ↓

Emote shown at 72 by 72 pixels
72px
Dashboard preview & subscribe-page perks
4x
Emote shown at 36 by 36 pixels
36px
Retina rendering of the same badge
2x
Emote shown at 18 by 18 pixels
18px
Next to the name, every message
1x

Shown at true size. Unlike an emote, a badge isn't three different places — it's the same spot beside a name, exported at three pixel densities.

Start here

Free badge resizer

Drop in one badge image. Crop or fit, then download all three required sizes — 72, 36 and 18px — transparent, checked against the 25KB cap, one at a time or all three as a zip.

  • Crop and reposition, or keep the whole image with transparent padding
  • A stepped, high-quality downscale, so 18px doesn't turn to mush
  • Every size checked against Twitch's 25KB cap, not just the pixel dimensions
  • A real chat mock, so you see the exact badge before you upload it
The specs

The three sizes, and the file rules

Three sizes, one format, one tight file cap. This is the whole technical requirement — everything after it is design.

Twitch sub badge sizes
SizeDensityWhat it's for
72 × 724xDashboard badge picker, subscribe-page perks preview
36 × 362xHigher-density rendering of the same chat badge
18 × 181xThe default — next to the name, on every single message
File rules
RuleValueIf you get it wrong
FormatPNG, static onlyNo animated badges — that's emote-only on Twitch
Max file size25KB per image, all three sizesUpload is rejected
BackgroundTransparentA coloured box sits next to every name that has it
ShapeSquareA rectangle isn't accepted
UploadAll three sizes together, per milestoneTwitch won't derive the smaller two for you
Detail costs you twice

A busy design doesn't just turn to mush at 18px — fussy line work and lots of colours also compress worse, which is how a badge quietly blows the 25KB cap too.

Flat colour and a couple of big shapes fix both problems with the same decision.

The part that surprises people

One spot, three densities — not three places

An emote earns three sizes because it shows up in three different UI surfaces. A badge earns three sizes because screens have different pixel densities — it's the same few pixels beside a name, every time.

Where it actually lives

Beside the name

Chat and the viewer list, every message, for as long as someone's subscribed. The 18×18 file is what renders there on a standard screen; 36×36 is the same spot on a retina display.

Where the 72px art goes

Two extra places

The badge grid in your Creator Dashboard, and the perks preview on your channel's subscribe page — where a potential subscriber sees what they'd unlock, badge flair included on Tier 2 and 3, before they commit.

Design at 18px, check at 18px
It's tempting to judge a badge from the 72px art in your Dashboard, where it looks its best. Nearly every real view happens at 18px, next to a name, in a fast-moving chat. If it doesn't read there, the bigger version doesn't matter.
Before you upload

Design for 18 pixels first

The same rule as an emote, applied to a much smaller canvas: a thick outline, one clear shape, and nothing fine enough to disappear.

The 18px test
reads
Thick outline, one shape
kiraStreamsLETS GO
modBottosame
Thick outline, one shape

A crown and one gem, drawn bold. Still a crown at 18px.

mush
Hairline outline, pale colours
smolDogLETS GO
modBottosame
Hairline outline, pale colours

Nothing anchors the shape, so it fades into the chat background.

mush
Crest with fussy detail
gamer_47LETS GO
modBottosame
Crest with fussy detail

Gems, ribbons and filigree collapse into a smudge this small.

The squint test, for badges
Shrink your badge to 18px on screen and lean back. If you can't tell what it is from across the room, neither can someone glancing at a name in a chat that's moving fast.
Before you design twelve

Milestones, and the sub badge ladder

Twitch ties badge art to tenure, not to a badge count you pick freely — so the real design job is a ladder, not a single icon.

Twitch fills in default badges at 1, 3, 6, 12 and 24 months. Affiliates and Partners can replace those and add custom art at further milestones — multi-year tenure earns Partners even more slots — and Tier 2 and Tier 3 subscribers can carry entirely separate art per milestone, if you want the badge to escalate with the tier as well as the tenure.

The easiest version that still looks intentional: one motif, one accent that gets richer per milestone — a plain outline at 1 month, a gem added at 3, gold trim by 12. Chat learns the pattern fast, and it reads as a system instead of six unrelated icons.

This is what the Sub Badge Ladder is for
Designing a whole milestone ladder by hand is the part that actually takes time — one motif, escalating consistently across five-plus tiers, all reading at 18px. That's the job for On Air Kit's Sub Badge Ladder tool, designing the whole set in one style rather than one icon at a time. It isn't live yet; the resizer above works today on art you already have.
Same sizes, different ladder

Sub badges vs. bit badges

Easy to conflate, because the file spec is identical. What unlocks each one isn't.

Two badge types, one crop
Sub badgeBit (cheer) badge
Sizes72 · 36 · 18px72 · 36 · 18px
File cap25KB each25KB each
Unlocked byConsecutive months subscribedCumulative bits cheered
Resets onUnsubscribingNever — bits accumulate for good

One practical upshot: the same badge art and the same resizer output work for either. The design decision — one motif, escalating art per tier — is identical too. Only the milestone ladder underneath it is different.

Five minutes, once the files are right

Upload to Twitch

No review queue here, unlike emotes — so this is also the last check before it's live.

  1. 1
    Open the Creator Dashboard

    From your avatar menu on twitch.tv, then Viewer Rewards → Sub Badges in the left sidebar.

  2. 2
    Pick the milestone

    Choose which tenure tier this art belongs to — 1 month, 3, 6, and so on — or the bits threshold for a cheer badge.

  3. 3
    Upload all three sizes

    72×72, 36×36 and 18×18, together. Unlike emotes, there's no single-upload shortcut — Twitch wants all three files.

  4. 4
    Check the small preview

    Twitch shows the badge at its real chat size before you save. If you can't tell what it is there, fix it now.

  5. 5
    Save, and it's live

    Sub badges skip the review queue emotes go through — once it uploads cleanly, subscribers at that milestone see it immediately.

Not Affiliate yet?
Sub badges need Affiliate or Partner status, the same as subscriber emotes. The emote guide's FAQ covers what unlocks it and what you can run before then →
Straight answers

Questions people actually ask

Three square sizes — 72×72, 36×36 and 18×18 pixels — each a transparent PNG under 25KB. Upload all three together for each milestone; unlike emotes, Twitch doesn't generate the smaller two for you from one upload.

Keep going

Fixed the sizing.
Still need the art?

The resizer above works on badge art you already have, right now, for free. The Sub Badge Ladder — a tool that designs a whole milestone ladder in one style — is next up, and isn't live yet. The Emote Set Maker runs on the same style system, so a look you start there carries straight over once badges ship.