Emoji Translator & Shortcode Converter
Turn words into emoji, and :shortcodes: into emoji and back.
Your text
Words that have an emoji get one, using Unicode’s emoji names and keywords.
At less than 100% the best matches are kept.
Names from every set are understood; the first set that knows a name wins.
Result
Press a word to try its next emoji, or none. The arrow keys move between the words.
About the Emoji Translator & Shortcode Converter
Type a message and the translator adds an emoji after each word that has one (pizza 🍕, party 🎉, India 🇮🇳), using the names and keywords Unicode publishes for every emoji. A density slider decides how many words get one, the best matches first; you can put the emoji after the word or instead of it, choose a skin tone, and press any word in the result to try its next emoji.
The converter also turns :shortcodes: into emoji and emoji into shortcodes, with GitHub’s official names, Slack-style and Discord-style names, and Emojibase’s and Unicode’s own, skin tones included (:wave::skin-tone-3:, :wave_tone2:). Custom emoji that only exist in one workspace or server stay as you typed them, and the tool lists them.
How to use it
- Choose Add emoji to text, :shortcodes: → emoji or Emoji → :shortcodes:.
- Type or paste your text, or press Example.
- To add emoji, choose whether they go after the word or instead of it, how many words get one, the skin tone, flags for country names and whether each emoji is used only once. Press a word in the result to try its next emoji, or none.
- To convert shortcodes, choose the set of names, or leave Any set. Names no set knows are listed under the result.
- Press Copy or download the text, or Use as input to convert it again.
Examples
Coffee, then pizza with friends tonight
Coffee ☕️, then pizza 🍕 with friends 🤗 tonight
Great work :tada: :+1: :wave::skin-tone-4:
Great work 🎉 👍️ 👋🏽
In Slack’s style, a skin tone is a second shortcode right after the emoji: skin-tone-2 is the lightest, skin-tone-6 the darkest.
Ship it 🚀 👋🏽
Ship it :rocket: :wave_tone3:
Common uses
- Livening up captions, posts, newsletters and chat messages in a few seconds.
- Writing release notes, pull requests or chat messages with GitHub or Slack shortcodes.
- Pasting text full of :shortcodes: from a bot, an export or a log into a place that shows only emoji.
- Moving messages between Slack, Discord and GitHub, whose names for the same emoji differ.
Where the emoji come from
Every emoji has an English short name and a list of keywords in Unicode’s CLDR data: 🍕 is “pizza”, with keywords such as cheese and slice. The translator looks up each word (and two- or three-word names such as ice cream and hot dog) in those names and keywords, with this data loaded from Emojibase. A keyword that only a few emoji share counts for more than one many share, and a short list of preferred emoji covers very common words, so love gives ❤️ rather than a love letter. Plurals and -ing and -ed forms are understood (dogs, dancing, launched), and country names become their flags.
The shortcode sets
- GitHub: GitHub’s official list. It has no names for skin tones, so toned emoji stay as emoji.
- Slack style: the names of the emoji-data library. A skin tone is a second code,
:wave::skin-tone-3:. - Discord style: the names of JoyPixels, with tones as
:wave_tone2:. - Emojibase: a name for every emoji and tone, such as
:waving_hand_tone2:. - CLDR: Unicode’s English name with underscores, such as
:grinning_face:.
Neither Slack nor Discord publishes its list, so the Slack-style and Discord-style names are the ones Emojibase matches to them, which it warns may not be exact (Emojibase shortcodes). Custom emoji that a workspace or server adds, such as :partyparrot:, are in no list and stay as typed.
Emoji and readability
Screen readers read each emoji’s name aloud, so “pizza 🍕” is heard as “pizza pizza”, and a post with an emoji after every word becomes long to listen to. Keep the density low for long text, prefer After the word to Instead of it for words that carry meaning, and check a post with the Social Post Accessibility Checker.
Limitations
- Words are matched in English only, and literally: apple gives 🍎 even when you mean the company.
- Newer emoji may show as boxes on older phones and computers; when two emoji fit equally well, the older one is chosen.
- Slack-style and Discord-style names come from community lists, so a few may differ from what those apps accept.
- Very long texts get emoji everywhere, but only the first 400 matches can be changed one by one.
Privacy
Everything happens in your browser. What you enter or open here is not uploaded or stored by MySmartCoPilot.
Frequently asked questions
How do I add emoji to my text automatically?
Paste the text with Add emoji to text selected. Every word that has an emoji gets one after it; lower How many words get one for fewer, or press a word to change or remove its emoji.
What are emoji shortcodes?
Names between colons, such as :tada: for 🎉, that apps like Slack, Discord and GitHub turn into emoji as you type. Each app has its own list, which is why the converter lets you choose a set.
Why did a shortcode stay as text?
Either no set knows the name (custom emoji such as :partyparrot: only exist in one workspace or server) or it is spelt differently in the set you chose. Try Any set; unknown names are listed under the result.
How do I write a skin tone as a shortcode?
In Slack’s style, add a second code: :thumbsup::skin-tone-4:. In Discord’s style the tone is part of the name: :thumbsup_tone3:. GitHub has no skin-tone shortcodes.
Is my text sent anywhere?
No. The emoji list is part of this page, loaded once from MySmartCoPilot, and all matching and converting happens in your browser. Nothing you type is uploaded or stored.