Skip to content

Every Slack emoji shortcode, usable on any website

July 27, 2026 · Atta ✨

Quick answer

Slack shortcodes like :tada: and :fire: come from a shared naming convention that GitHub, Discord and most chat tools also use. They only work inside those apps, but a small browser extension called Emoji Anywhere adds the same :shortcode: typing to every text field in your browser, free.

If you spend your day in Slack, your fingers know a small private language. :tada: for a launch, :eyes: when you are looking into something, :pray: when you need a review before five, :fire: for anything good. You do not think about it any more than you think about typing “the”.

Then you switch tabs. You write a reply on X or an email in Gmail, your fingers produce :tada:, and nothing happens. Two colons sit in the sentence looking stupid, you delete them, and you either open the picker or you skip the emoji entirely. Most people skip it. It happens a dozen times a day and nobody talks about it because it feels too small to complain about.

I built an extension because of exactly this, so I will get the disclosure out of the way early: yes, this article ends with me telling you Emoji Anywhere fixes it. But the shortcode system itself is genuinely interesting, most people who use it daily know nothing about where it came from, and there are some sharp edges between platforms worth knowing regardless of what you install.

Where the names actually come from

Shortcodes are older than Slack. The pattern comes from the early 2010s: Campfire and then GitHub popularized colon-wrapped emoji names, and a project called the Emoji Cheat Sheet catalogued them. When Slack arrived in 2013 it adopted the same convention and the same names, which was the right call, because by then thousands of developers already had them in muscle memory.

The names mostly track the official Unicode character names, compressed for typing. FIRE became :fire:. PARTY POPPER became :tada:, named for the sound rather than the object, which is why nobody can ever find it by searching “party”. FACE WITH TEARS OF JOY became :joy:, and if you have ever wondered why typing “laugh” gets you nothing in Slack, that is why. A handful of names are historical accidents that stuck. We all just live with them.

Because everyone copied the same cheat sheet, one set of muscle memory covers Slack, GitHub, Discord, GitLab, Mattermost, Zulip, and most developer tools built since. That is a remarkable amount of compatibility for a convention nobody officially owns.

The codes worth knowing, and the ones that differ

The core set is stable everywhere:

CodeEmojiNotes
:tada:🎉the shipping emoji
:fire:🔥approval, quality, streaks
:joy:😂not “laugh”, never “laugh”
:eyes:👀“looking at it”
:pray:🙏thanks or please
:rocket:🚀launches
:100:💯full agreement
:+1:👍also answers to :thumbsup:
:heart:❤️the plain red one
:white_check_mark:the green “done” check

The differences between platforms are small but real. GitHub accepts both :+1: and :thumbsup:; some tools only take one. Slack’s :white_check_mark: is the green box check, while :heavy_check_mark: is a different, plainer character, and mixing them up is a classic. Discord leans on the same base names but layers server-specific custom emoji on top, which of course exist nowhere else. And every workspace has its own custom codes, your :shipit: squirrels and :this-is-fine: dogs, which are images uploaded by an admin rather than real Unicode characters. No tool can carry those outside the walls, because there is nothing to carry; they are pictures, not text.

Everything else, the actual Unicode emoji, is portable in principle. There are 1,906 of them with shortcodes in the set my extension uses, and the most-used ones have pages of their own, which covers almost everything you will ever type.

Making the codes work in every text field

The reason :tada: works in Slack and not in Gmail is simply that Slack built an autocomplete into its composer and Gmail did not. There is nothing special about the text field itself. So the fix is to bring the autocomplete along with you.

Emoji Anywhere is a 280 KB browser extension that watches for a colon in whatever field you are typing in. Type :fi and a small menu appears at your caret with 🔥 at the top; press Enter and keep writing. The same names you know, the same flow you know, in X, Gmail, Facebook, LinkedIn, Reddit, comment boxes, CMS editors, anywhere the web gives you a cursor.

Making that actually work took more engineering than I expected, and the hard part is invisible. Modern composers like X’s and Facebook’s do not treat the text field as plain text; they keep a private internal model of your document, and if an extension writes into the page directly, the editor either duplicates the text or silently drops it. The extension talks to each editor through its own event system instead, which is the difference between a tool that demos well and a tool that works on the sites you actually use.

A few behaviors Slack users specifically appreciate:

  • :: opens your frequent emojis. Two colons, no name, your personal top row ranked by what you really type. Slack does not even have this.
  • Emoticons convert as you type. <3 becomes ❤️ and :D becomes 😄, the moment you hit space.
  • Kaomoji are first-class. :shrug: produces ¯\_(ツ)_/¯ with every arm intact. Slack never did this either. There are 276 kaomoji and symbols in the set.
  • It stays out of Slack’s way. On slack.com, discord.com, github.com and other sites with native shortcode support, the extension is silent by default. Two autocomplete menus fighting over one colon is worse than either alone. There is a per-site toggle if you disagree.

What it costs

Nothing, and I mean that literally rather than in the “free trial” sense. No account, no server, no analytics of any kind; the extension is local code that does nothing until you type a colon, and you can watch the network tab to confirm it. The emoji features stay free. If a paid tier ever exists it will be for heavier text-expansion features, not for taking back anything you already have.

If your fingers already speak Slack, install it and stop translating.

Your keyboard already knows what you mean

Free, 280 KB, no account. Two letters from now you will never open an emoji panel again.

Add to Chrome · free