The custom emoji list is where a Slack workspace shows its personality — the inside jokes, the team mascots, the perfectly-timed reaction that a stock emoji could never capture. Making a good one takes about a minute if you know the specs, and produces a rejected upload if you don’t. Here’s how to get it right.
Short answer: Make it a square, 128×128 pixel image, keep the file under 128 KB, and give it a lowercase, no-spaces name. The Slack Emoji Generator turns text or an image into a correctly-sized 128×128 PNG in your browser, ready to upload.
The specs that matter
Slack is picky in a few specific ways, and every rejected upload traces back to one of them:
| Requirement | Value |
|---|---|
| Shape | Square (equal width and height) |
| Recommended size | 128×128 pixels |
| Max file size | 128 KB |
| Formats | PNG, JPG, GIF (GIF for animation) |
| Animation | Animated GIF, up to 50 frames |
| Name | Lowercase, no spaces, unique |
Emoji display tiny — around 22 pixels in a message — but Slack keeps a larger copy, so uploading at 128×128 keeps it crisp on high-resolution screens. Go smaller and it looks soft; go much larger and you waste the size budget for no visible gain.
Two ways to make one
From text. The fastest custom emoji is a word or two — a reaction, a status, a team name — set in bold type on a clean background. The Slack Emoji Generator does exactly this: type your text, and it renders a legible 128×128 PNG. Because emoji are shown so small, short text and high contrast are everything; “SHIP IT” reads at 22 pixels, a sentence does not.
From an image. A logo, a face, a cropped photo. Two rules make these work:
- Crop to a square first. A rectangular image gets squished and distorted to fill Slack’s square slot. Use the Image Cropper to frame the square you want.
- Resize to 128×128 and check the file weight. If it’s over 128 KB, shrink it with the Image Resizer until it fits.
Naming it so people find it
A great emoji nobody can summon is wasted. Slack names must be lowercase, spaceless, and unique, so use hyphens or underscores — :ship-it:, :team_mascot:. Two tips:
- Name for the reaction, not the picture. People type what they mean (
:this:,:mind-blown:), so an intuitive name gets used far more than a literal one. - Add aliases so the same image answers to a couple of obvious names — Slack supports them for exactly this.
Getting animation under the limit
Animated emoji are pure delight and pure file-size risk, because every frame counts against the 128 KB cap — and Slack caps animated emoji at 50 frames on top of that. To stay inside both limits:
- Keep the canvas at 128×128 — no larger.
- Use a short loop of 50 frames or fewer, with the fewest frames that read as motion.
- Simple, flat graphics compress far better than busy footage.
If a GIF won’t fit, the fix is fewer frames or a shorter loop, not a bigger canvas.
Why it’s all in your browser
The Slack Emoji Generator builds the image on your device — nothing is uploaded to make it — which matters when the emoji is an unreleased logo or an internal in-joke you’d rather not send to a third-party server. Make it, download the PNG, and upload it to Slack yourself.
The one-minute recipe
- Decide: text or image?
- Text → type it in the Slack Emoji Generator. Image → square-crop, then resize to 128×128.
- Confirm it’s under 128 KB.
- Name it lowercase, hyphenated, and obvious.
- Upload — and watch it become the workspace’s new favorite reaction.
Get the specs right once and custom emoji stops being fiddly. The same square-and-right-sized discipline shows up whenever you make images for a platform — it’s the same habit behind profile and cover photo sizes.