How to Add Custom Emoji to Slack (Desktop and iPhone)
To add a custom emoji to Slack, click the smiley face in the message box, then Add Emoji, upload an image, name it and save. Our tests: any still image is shrunk to 128 x 128 and accepted; only large GIFs are refused.
On this page
To add a custom emoji to Slack on desktop, click the smiley face in the message box, click Add Emoji, click Upload Image, type a name, and click Save. Everyone in the workspace can then use it as :name:, and it shows up under the Slack icon in the emoji picker. The dialog asks for "square images under 128KB", but that is advice, not a limit. On 1 October 2026 a 1000 x 1000 PNG of 1.9 MB uploaded fine, because Slack shrinks every image to 128 x 128 pixels. The limit that does stop you applies to animated GIFs: the file must still be small after that shrink.
We ran every upload on this page in our own Slack workspace (Free plan, signed in as the workspace owner) through the Add emoji dialog and the same emoji.add call the dialog makes, then removed the test emoji.
How to add a custom emoji to Slack on desktop
- In any conversation, click the smiley face in the message box.
- Click Add Emoji at the bottom of the emoji picker.
- On the Custom emoji tab, click Upload Image and choose a PNG, JPG or GIF.
- Under Give it a name, type the code people will use, such as
shipit. Slack fills in the file name and turns spaces into hyphens. - Click Save.
- • Size only matters for GIFs. A still image of any size we tried was shrunk and accepted. A GIF is shrunk too, and is refused if the result is still too large. Our 60-frame GIF with flat colours passed at 29 KB; the 40-frame GIF full of random pixels did not. Fewer colours and fewer frames make a GIF smaller.
- • The 50-frame rule did not hold. Slack's help center says animated emoji can have up to 50 frames. Our 60-frame GIF kept all 60, and on 30 September a 150-frame GIF was accepted too.
- • Names are lowercase. Letters, numbers, hyphens and underscores work. Capitals, spaces and most punctuation are refused, and so is the name of any standard emoji.
- Keep Image to emoji selected, then drop in, choose or paste a PNG, JPG, GIF or WebP. A screenshot on your clipboard pastes straight in.
- Leave Crop to square on and frame the subject with Zoom, Left/right and Up/down.
- Tick Remove background if the subject sits on a plain color.
- Check the previews at 16, 22 and 32 pixels. An emoji shows at about 22 pixels in a message, so if the subject is hard to see there, zoom in more.
- Optional: pick an effect such as intensifies or party to make it an animated GIF.
- Download the file. The tool suggests an emoji name.
The emoji works right away in messages, reactions and your status. On an iPhone or iPad, tap the smiley face in the message box, enter a name, then tap Add custom emoji and pick the image. Slack's Android app has no option to add custom emoji, so use a computer or a browser.
What the upload accepts: our test results
We sent each file and name below to Slack and wrote down the answer. The error codes are what emoji.add returned; the dialog shows the same refusal as a plain sentence.
| What we uploaded | Result |
|---|---|
| PNG, 1000 x 1000 px, 1.9 MB | Added. Slack stored it as a 128 x 128 PNG of 23 KB |
| GIF, 128 x 128 px, 60 frames, 29 KB | Added, all 60 frames kept |
| GIF, 128 x 128 px, 40 frames of noise, 924 KB | Refused: resized_but_still_too_large |
Name SG1001-Upper | Refused: error_lower_case_names_only |
Name sg1001 space | Refused: error_bad_name_i18n |
Name thumbsup | Refused: error_name_taken_i18n (a built-in emoji) |
| A name we had already used | Refused: error_name_taken |
Three things follow from the table:
To shrink a GIF, crop it or cut frames before you upload; our free Slack emoji resizer does both in the browser, and Slack GIF size limit has the numbers. To make the image in the first place, see the next section.
Make a Slack emoji from a picture
To make a Slack emoji from a picture, crop the photo to a square around one face, logo or object, scale it to 128 x 128 pixels, and save it as a PNG. Remove the background if it is a plain color, or it shows as a white square in dark mode. Then upload it with Add Emoji as above.
Our free Slack emoji maker does it in the browser, and the picture never leaves your computer:
From the command line, ImageMagick fills a 128 x 128 square from the center in one line, and macOS has sips built in. We ran both on 7 October 2026 on the parrot photo that ships with macOS, a 512 x 512 PNG of 417 KB:
magick photo.png -resize 128x128^ -gravity center -extent 128x128 -strip emoji.png
sips -c 440 440 photo.png --out crop.png
sips -z 128 128 crop.png --out emoji-sips.png
ls -l emoji.png emoji-sips.png
-rw-r--r--@ 1 sieunpark staff 35298 Oct 7 10:09 emoji-sips.png
-rw-r--r--@ 1 sieunpark staff 30528 Oct 7 10:09 emoji.png
That is 30.5 KB and 35.3 KB, both 128 x 128. Slack would have taken the 417 KB original too, since it shrinks still images itself, but cropping first decides what stays in the frame. At 22 pixels the parrot's red head and yellow beak still read and its eye does not: color and shape survive, detail does not.
| Picture | How to crop | Tip |
|---|---|---|
| Face or selfie | Head only, chin to hair | A big expression reads better than a neutral one |
| Logo | The symbol, not the full wordmark | Thin lines vanish at 22 px, so thicken them |
| Pet photo | Face, ears to chin | Keep a busy background if removing it eats the fur |
| Screenshot | One icon, word or number | Only large text survives |
A picture of a coworker needs their OK first, because everyone in the workspace can use a custom emoji once it is added. To animate a picture or draw a GIF from a description, see make your own Slack GIF.
Never appear "away" on Slack again
Cloud-based. No downloads. Works 24/7 even when your laptop is off.
Why you can't add emoji to Slack
If the Add Emoji button is missing or greyed out, the cause is a workspace setting, not your file:
If the button works but Save fails, match the message to the table above: "a bit too big, even after resizing" means the GIF is too large, and a name error means the name is taken or has capitals or spaces. A white square around the emoji in dark mode means the image has no transparent background; how to make an emoji background transparent for Slack fixes that.
Aliases, emoji packs and bulk uploads
An alias is a second name for an emoji that already exists, such as :yes: for :+1:. Open https://<your-workspace>.slack.com/customize/emoji in a browser, click Add Alias, pick the emoji and type the new name. The same page has Add Custom Emoji and the list of every custom emoji in the workspace.
Emoji packs are sets Slack offers ready-made. In the Add emoji dialog, open the Emoji packs tab and click Add Pack; Slack emoji packs shows what is in them. The dialog takes one file at a time, so for a folder of your own images use the Slack emoji bulk upload tool, which fixes each name and adds them from a Slack browser tab. Apps cannot add emoji through the API outside Enterprise plans; our emoji API test shows the errors.
How to remove a custom emoji
On the same /customize/emoji page, find the emoji and click the delete icon. Members can delete only the emoji they added; owners and admins can delete any. More in how to delete a Slack emoji.
FAQ
Can I use another company's custom emoji? In a Slack Connect channel or DM, you can right-click another organization's custom emoji to add it to your workspace.
Can I rename a custom emoji? No. Add it again under the new name, or add an alias, then delete the old one.
Why does my animated emoji not move? Slack shows animated emoji frozen for anyone who turned off animations in Preferences, Accessibility. Slack GIF not playing covers the other causes.
Do custom emoji work as a status? Yes. Any custom emoji in the workspace can be your status emoji.
Stop Jiggling Your Mouse.
Join hundreds of remote workers who never worry about their Slack status. Set it up once, stay green forever.
Related Articles
Slack Bot Scopes: The Scope Each API Method Needs, Measured on 44 Methods
We gave a Slack bot one scope, called 44 common Web API methods, and read the needed field of every missing_scope error. Then we added the scopes and called them again. The table shows which scope clears each method.
Slack File Size Limit: 1 GB Is Exactly 1,073,741,824 Bytes, Tested
We uploaded files of 50 MB, exactly 1 GiB and 1 GiB plus one byte to Slack through its upload API. The limit is 1,073,741,824 bytes, and a failed upload can still leave a broken file behind.
Slack Dark Mode: Where the Setting Is, and Which Custom Emoji Disappear
Slack's dark mode is under Preferences > Appearance > Color Mode, with Light, Dark and System. We switched modes in Slack web with three test emoji and measured which ones vanish.