Windows 11 has an emoji picker: press Win + . and a panel appears. It works, but it interrupts you โ€” a floating window opens over your text, you search or scroll for the emoji you want, click it, and then find your way back to the sentence you were writing. If you send the same handful of emoji every day, that is a lot of ceremony for one character.

A text expander removes the panel from the loop. With Text Replacements, you type :fire: and the shortcode becomes ๐Ÿ”ฅ the instant you type the closing colon โ€” in Slack, Outlook, Teams, a browser, a terminal, or any other Windows desktop app. Around 1,900 GitHub/Slack-style names are built into the app, so there is nothing to configure first.

The :name: shortcode, explained in one line

A shortcode is the emoji's name wrapped in colons. If you have used GitHub, Slack, Discord, or Notion, you already know the vocabulary:

You type You get Fires on
:fire:๐Ÿ”ฅThe closing colon
:rocket:๐Ÿš€The closing colon
:+1:๐Ÿ‘The closing colon
:tada:๐ŸŽ‰The closing colon
:white_check_mark:โœ…The closing colon
No Space or Enter needed. Ordinary snippets like ;email wait for a delimiter, because the app cannot know where the trigger ends. A shortcode ends with a colon, which is unambiguous โ€” so emoji expand immediately, mid-sentence, without leaving a stray space behind.

Why not just use Win + . ?

The emoji panel is genuinely good at one thing: browsing. When you don't know what you want and would recognise it on sight, the panel wins. The trade-offs show up when you do know:

Emoji panel (Win + .) Copy-paste from a doc :name: shortcodes
Hands leave the keyboardUsuallyYesNo
Opens a window over your textYesYesNo
Works the same in every appMostlyYesYes
Setup per emojiNoneMaintain a documentNone
Good for browsingYesNoNo

They are complements, not rivals. Keep Win + . for discovery; use shortcodes for the twenty emoji you actually send.

A starter cheat sheet

Chat and stand-ups

:+1: โ†’ ๐Ÿ‘  ยท  :eyes: โ†’ ๐Ÿ‘€  ยท  :pray: โ†’ ๐Ÿ™  ยท  :wave: โ†’ ๐Ÿ‘‹

Status in tickets and notes

:white_check_mark: โ†’ โœ…  ยท  :x: โ†’ โŒ  ยท  :warning: โ†’ โš ๏ธ  ยท  :bug: โ†’ ๐Ÿ›

Releases and good news

:rocket: โ†’ ๐Ÿš€  ยท  :tada: โ†’ ๐ŸŽ‰  ยท  :fire: โ†’ ๐Ÿ”ฅ  ยท  :sparkles: โ†’ โœจ

Tone

:joy: โ†’ ๐Ÿ˜‚  ยท  :smile: โ†’ ๐Ÿ˜„  ยท  :thinking: โ†’ ๐Ÿค”  ยท  :heart: โ†’ โค๏ธ

What about things that aren't emoji?

Kaomoji and typographic symbols have no Unicode emoji name, so they are ordinary snippets you create once โ€” and they follow the normal Space/Tab/Enter rule:

TriggerReplacementUseful for
;shrugยฏ\_(ใƒ„)_/ยฏChat, when words fail
;tmโ„ขProduct names in docs
;--โ€”Em dash without an Alt code
;degยฐTemperatures and angles

You can also override a built-in shortcode. If you create your own snippet with the trigger :fire:, your version wins โ€” the built-in table is only consulted when nothing in your own library matches.

Set it up in under a minute

  1. Install Text Replacements from the Microsoft Store and launch it.
  2. Nothing to configure for emoji โ€” the shortcode table ships with the app.
  3. Open any app and type :tada:. The emoji appears as you type the final colon.
  4. Optional: add your own snippets for kaomoji and symbols, or override a shortcode you want to mean something else.

Frequently Asked Questions

Do I need to create a snippet for every emoji?
No โ€” that is the point of the built-in table. Around 1,900 GitHub/Slack-style names work out of the box, so :fire:, :rocket:, and :sparkles: expand on a fresh install with an empty snippet library.
Does capitalisation matter?
No. Shortcode names are matched case-insensitively, so :Joy: and :JOY: produce the same emoji as :joy:. That matters at the start of a sentence and with Caps Lock on. Names themselves are made of letters, digits, _, + and -.
Will it mangle ordinary text with colons, like 10:30 or a URL?
No. Only a complete, known shortcode expands. Times such as 10:30, ratios, https://example.com, and smileys like :-) are left exactly as typed, because none of them is a name in the table.
Does this work in Slack, Teams, and Discord desktop apps?
Yes. Expansion happens at the keyboard level, before the app receives the keystrokes, so it works in every Windows desktop app โ€” including apps that have their own emoji autocomplete, and apps that have none at all.
Do emoji survive in every field?
Emoji are non-BMP Unicode characters. Text Replacements inserts them as proper surrogate pairs, so they render correctly wherever the receiving field supports Unicode. Fields that are restricted to plain ASCII will still reject them โ€” that is a limit of the target app, not of the expansion.
Can I still use the Windows emoji panel?
Of course. Win + . keeps working exactly as before. Text Replacements adds a keyboard path for the emoji you already know by name; it changes nothing about the system picker.

Get Text Replacements

One-time purchase. No subscription. Works on Windows 11.