What Is a Shortcode (:smile:)? How to Type Emoji in Slack, GitHub and Discord
How shortcodes turn an English name between colons into an emoji, why names differ across Slack, GitHub and Discord, and 30 common ones for work and dev.
When you watch a coworker toss a 🎉 onto the end of a message in a work chat, it can make you feel clumsy as you dig through the emoji list. Most of those people aren't picking emoji, they're typing them. They use shortcodes, where typing :tada: on the keyboard turns into 🎉.
Shortcodes are especially handy for developers and people who spend a lot of time in work tools. This article covers what a shortcode is, why they differ a bit from service to service, and the common ones you can start using right away.
What is a shortcode?
A shortcode is a way of entering an emoji by putting a short English nickname between two colons (:). :smile: becomes 😄, :+1: becomes 👍 and :tada: becomes 🎉.
Shortcodes aren't an official standard like Unicode. They're a convention that chat services and developer tools started using for convenience. You don't have to open an emoji window with the mouse, and you can type with your hands on the keyboard, so they spread quickly among people who type all day.
Where can you use them?
- Slack: Type a colon and a couple of English letters in the message box and emoji suggestions pop up automatically. You can also search by shortcode when you add a reaction to a message.
- GitHub: Write something like
:bug:in issues, pull requests, comments and commit messages and it displays as an emoji on the web page. Autocomplete is supported as you type. - Discord: As in Slack, type letters after a colon and suggestions appear, and when you send it, it turns into an emoji.
- Many other work tools, including Notion, Jira, GitLab and Markdown editors, support something similar.
On the other hand, in ordinary messaging apps and phone keyboards, such as iMessage or WhatsApp, a shortcode usually stays as the plain text :smile:. Remember that shortcodes don't work everywhere. They only work inside services that support them.
Why they differ a little between services
There is no official standard for shortcodes. Unicode gave each emoji an official name like "THUMBS UP SIGN," but it never decided on the short names you put between colons. So each service attached its own labels, and as a result the same emoji can have a slightly different shortcode from one service to another.
The same emoji, different names
- 👍: Most services accept both
:+1:and:thumbsup:. 👎 is:-1:or:thumbsdown:. - 🙂: The name differs,
:slightly_smiling_face:in Slack and GitHub and:slight_smile:in Discord. - 🤔: It's registered as
:thinking:in GitHub and Discord and:thinking_face:in Slack. - 💩: Many services accept several nicknames together, like
:hankey:and:poop:.
Fortunately, commonly used emoji like 😄 :smile:, 😂 :joy:, 🎉 :tada: and 🔥 :fire: use the same name in most services. In a service you're new to, the surest approach is to type just two or three English letters after a colon and pick from the autocomplete list.
Skin tones and custom emoji
In Slack you can specify a skin tone by attaching a skin tone shortcode after the emoji shortcode, like :+1::skin-tone-3:. Services handle skin tones in different ways, so in most of them it's easier to set your default skin tone once in settings.
Slack and Discord also have "custom emoji" that users make by uploading an image. You might turn a company logo, a teammate's face or an office inside joke into an emoji and give it a name like :our_team:. But custom emoji only work inside that workspace or server, and if you copy one somewhere else, usually only the name text is left. That's because they're not Unicode emoji.
When emoticons are replaced automatically
Some services, Slack among them, automatically turn text emoticons like :) or :D into emoji. If you're writing code or formulas and it changes into an emoji when you don't want it to, check whether you can turn off this automatic conversion in settings.
30 common shortcodes
The shortcodes below are the ones listed in EmojiCanvas data, and they are names widely used in GitHub, Slack and elsewhere. Depending on the service, a few may need to be typed under a different name.
Faces
- 😀
:grinning:Grinning face - 😄
:smile:Face smiling with its eyes - 😆
:laughing:Laughing hard - 😂
:joy:Laughing with tears - 😅
:sweat_smile:Nervous laugh with a sweat drop - 😊
:blush:Shy smile - 😍
:heart_eyes:Heart eyes - 🥰
:smiling_face_with_three_hearts:Face surrounded by hearts - 🤔
:thinking:Thinking face - 😭
:sob:Sobbing - 😱
:scream:Face screaming in shock - 🥺
:pleading_face:Pleading face
Hands and reactions
- 👍
:+1:Like, got it - 👎
:-1:Not good - 👌
:ok_hand:Okay - 🙏
:pray:Please, thank you - 👏
:clap:Applause - 🙌
:raised_hands:Hooray - 💪
:muscle:You can do it - 👀
:eyes:I'm looking at it now
Symbols and work
- ❤️
:heart:Red heart - 🎉
:tada:Celebration - 🔥
:fire:Awesome, urgent - 💯
:100:Perfect - ✅
:white_check_mark:Done - ❌
:x:No, canceled - ⚠️
:warning:Caution - 🚀
:rocket:Deploy, launch - ✨
:sparkles:New feature, shiny - 🐛
:bug:Bug
In work messengers, people often use emoji reactions alone to signal simple things. 👀 means "checking," ✅ means "done" and 🙏 means "please," and teams often use them as a kind of agreement.
- ✅Checked and handled
- 👀Looking at it now
- 🎉Deploy succeeded, congrats
Emoji in commit messages
Among developers, there's also a convention of putting an emoji at the start of a git commit message to mark the kind of change. It's known as "gitmoji," and a few examples are below.
- ✨
:sparkles:Add a new feature - 🐛
:bug:Fix a bug - 📝
:memo:Write or edit documentation - ♻️
:recycle:Refactor code - 🚀
:rocket:Deploy
Rules differ from team to team, so it's best to check your team's commit rules before using them.
How to find a shortcode on EmojiCanvas
If you can't recall the shortcode for the emoji you want, you can look it up on EmojiCanvas. Open the "Developer code" item on any emoji page and the short code is listed there, and you can take it with the copy button.
The same item also collects other values you need for development.
- Code point: The emoji's unique number set by Unicode, like U+1F600
- HTML code: A character reference like
😀used to put an emoji on a web page - CSS and JavaScript notation: The values you need when using the emoji inside a stylesheet or program code
You can also type a shortcode in English, like tada, in the site's search box to find the emoji. Going the other way, if you paste an emoji into the search box, you can open its page from the search results and check the shortcode. If you just remember that names can differ by service, shortcodes are the fastest way to enter an emoji.
Last checked 2026-10-22