DISCORD · STEP BY STEP

How to make custom Discord emojis

128×128, 256KB, and how many slots your server really has. How to make a set that still reads at 16 pixels — which is how small a reaction actually gets.

Updated July 20268 min read
The short version

Upload custom Discord emoji as square 128×128 PNGs under 256KB, via Server Settings → Emoji → Upload Emoji. An unboosted server holds 50 static and 50 animated; boosting takes both up to 250.

The catch is smaller than Twitch's: Discord shows emoji at about 22 pixels inline and 16 as a reaction. Reactions are where custom emoji get used most, and they're the smallest thing on the platform.

Emote shown at 128 by 128 pixels
128px
The file you give Discord
upload
Emote shown at 48 by 48 pixels
48px
A message with nothing but emoji
on its own
Emote shown at 22 by 22 pixels
22px
Typed into a sentence
inline
Emote shown at 16 by 16 pixels
16px
The little pill under a message
reaction

Shown at true size. One upload, four very different jobs — and the one people click most is the smallest.

The specs

Size and file rules

One size, one file cap, three accepted formats. Everything else on this page is design.

128px
square
What to upload
256KB
max file size
Per emoji
PNG
or GIF / JPEG
PNG for transparency
File rules
RuleValueIf you get it wrong
Dimensions128 × 128 (square)Discord resizes it — usually softer than you'd like
Max file size256KBUpload is refused
FormatPNG, JPEG or GIFAnimated has to be GIF; APNG and WebP aren't accepted
BackgroundTransparentA pale box around your emoji on the dark theme
Name2–32 characters, no spacesDiscord rejects it or silently rewrites it
Discord resizes for you. Do it yourself anyway.

Bigger pictures get shrunk down for you. Fine for a one-off.

For a whole set, export at 128 yourself. You control how it sharpens — and you find out whether the design still reads before the server sees it.

Before you make twelve

How many emoji your server actually gets

Static and animated emoji come out of two separate pools, so a full static list doesn't cost you any animated slots.

Emoji slots by boost level
Server levelStatic emojiAnimated emojiStickers
No boosts50505
Level 110010015
Level 215015030
Level 325025060

Fifty sounds like plenty until you've run a server for a year.

The wasted slots are almost always one-off jokes uploaded at 2am and never used again. Worth an audit before you decide you need a boost.

Who's actually drawing these?
Doesn't matter. Draw them, commission them, or use an emote maker — Discord only ever sees the finished PNG. The Twitch guide compares the three routes on cost and time → if you haven't decided yet. It's the same decision here.
Step one

Pick one subject for the whole set

The thing that makes a server's emoji feel like that server is that they clearly come from the same place. One character, many reactions.

Your face, a mascot, the mod everyone quotes, the server pet. Doesn't much matter which — it just has to recur.

Variety is what breaks a set. Eight emoji in eight art styles read as a folder of downloads, not an identity.

If the set is of a real face, the reference you work from decides most of the result — and that's true whether you're drawing it, briefing an artist or uploading it somewhere. The Twitch guide shows what a usable photo looks like → — the requirements are identical here.

Step two

Pick a style that reads at 16 pixels

Discord is less forgiving than Twitch. A reaction pill is roughly 16 pixels — the smallest either platform will ever show your work at.

  • Thick, dark outlines.Discord's default theme is dark grey, not black — a mid-tone emoji with no outline melts into it.
  • One expression per emoji, exaggerated.Subtlety is invisible at this size. If it's a laugh, it's the biggest laugh you can draw.
  • A crop that's mostly face. Bodies, props and backgrounds cost you the pixels the expression needs.

Three looks that follow those rules. Our own presets, so not a neutral survey — but the heavy outlines and flat colour are the bit to copy, into your own drawing or into someone else's brief.

Emotes in the Bold Mascot style

Bold Mascot

Chunky animal, reads anywhere.

try this style →
Emotes in the Clean Chibi style

Clean Chibi

Crisp lines, punchy colour.

try this style →
Emotes in the Soft Goth style

Soft Goth

Chokers, fishnets, bright grin.

try this style →
Step three

Choose the emoji a server actually uses

Server emoji get used differently from Twitch emotes. Most of the volume is reactions — a one-click verdict on someone else's message — so the useful set skews towards judgements rather than jokes.

A starter set that earns its slots
EmojiUsed asWhy it earns a slot
yes / thisReactionThe most-clicked emoji on almost every server
no / nopeReactionDisagreement without typing a paragraph
wheezeBothReplaces 😂 with something that's yours
hypeBothLaunches, wins, someone finally shipping it
sadBothSympathy, losses, patch notes
confusedReactionSofter than asking someone what they mean

Naming them

  • Two to thirty-two characters, no spaces — underscores if you need a break.
  • Lowercase and short. People type these with the colon shortcut, and autocomplete only helps if the first few letters are guessable.
  • :wheeze: beats :kira_laughing_hard:, every time.
Name for the feeling, not the picture
Members search by how they feel, not by what's drawn. An emoji called :owl_sideeye: gets found by nobody; :sus: gets found by everybody.
Step four

Cut out the background, then export at 128

Discord's default theme is dark and its light theme is near-white. An emoji with a background looks broken on one of them, guaranteed.

  • Export as PNG with real transparency — check it against a dark background before uploading
  • Square canvas, 128 × 128, with the artwork nearly filling it
  • Under 256KB, which a 128px PNG comfortably is
  • Keep the big master file — you'll want it for Twitch and 7TV
  • Saving as JPG — no transparency, and it softens your outlines
  • Leaving a pale rim of old background stuck round the edge
  • Padding the canvas with empty space — it shrinks the art inside an already tiny box
  • Uploading a rectangle and letting Discord squash it
Step five

Upload to your server

Two minutes, and you can drop in the whole set at once.

  1. 1
    Open Server Settings

    Click the server name at the top of the channel list, then Server Settings. You need Manage Expressions — on most servers that means owner or admin.

  2. 2
    Go to Emoji

    It's in the left sidebar under the server's settings, alongside Stickers and Soundboard.

  3. 3
    Upload Emoji

    You can select several files at once. Discord lists them at the size they'll actually appear, which is your first honest look at whether they read.

  4. 4
    Rename each one

    Discord names them after the filename, which is almost never what you want. Two to thirty-two characters, lowercase, no spaces.

  5. 5
    Test it as a reaction

    Not just typed into a message — react to something with it. That's the 16px view, and it's the one most members will see most often.

Four sizes, one file

Where your emoji actually show up

The one file you upload gets shown at four very different sizes, depending on where it turns up. Flip to the Twitch tab to see how the same set behaves over there.

22px · 48px jumbo
K
kiraStreamsToday at 9:41 PM
new set just went livewheeze
S
smolDog9:42 PM
wheezecryhype
V
vtuber_yuki9:43 PM
these are actually so good
wheeze4cry3hype2
Rendered size by context
Where it turns upShown atNotes
Emoji picker~32pxWhere people browse — flattering, and misleading
Inside a message~22pxTyped alongside text
Reaction pill~16pxThe smallest, and the most used
A message with only emoji~48pxDiscord blows these up
Judge it in the pill, not the picker
Everything looks fine at 32 pixels in the picker. The reaction pill is 16, and that is where a design with thin lines or five colours quietly stops working.
Not the same thing

Emoji, stickers and soundboard

Three separate systems with three separate slot pools. Worth knowing which one you actually want before you make anything.

Emoji

128 × 128256KB50 + 50 free

Inline in messages and as reactions. This is what you want for a reaction set.

Stickers

320 × 320512KB5 free

Sent on their own, much larger, can't be used as reactions. Good for one or two signature bits.

Soundboard

Audio≤5 seconds8 free

Voice-channel only. Nothing to do with your art, but it comes out of the same 'server personality' budget.

Straight answers

Questions people actually ask

128 by 128 pixels, as a square PNG under 256KB. Discord will accept a larger file and resize it for you, but doing the resize yourself means you control the sharpening rather than letting Discord's compressor decide — which matters, because these are displayed at around 22 pixels.

Keep going

A whole set,
one character.

On Air Kit is ours — it's an emote maker. Describe your character or attach a photo, pick a look, and you get a matching emoji pack back, cut out and exported at Discord's 128 alongside every Twitch size. There's a walkthrough if you'd rather see how it works first.