How to Type Symbols in Slack — Without Them Turning Into Bold Text

Igor R.

September 3, 2026

Short answer: Tap any symbol below to copy it, then paste straight into the message box. To type them instead: press Windows key + . on Windows or Control + Command + Space on Mac, both of which work inside the Slack composer. If a symbol keeps getting swallowed, wrap it in backticks.

Tap to copy

Not sure what a character is? Paste it into the symbol identifier and it’ll tell you its name, code point and how to type it.

Slack doesn’t use Markdown — it uses mrkdwn

This is the single most useful thing to know, and it explains nearly every formatting surprise in Slack.

Slack message composer showing mrkdwn formatting with asterisks and underscores

Slack’s markup is called mrkdwn, and it looks like Markdown but isn’t. The differences bite:

You wantMarkdownSlack mrkdwn
Bold**bold***bold* — one asterisk
Italic*italic* or _italic__italic_ — underscores only
Strikethrough~~strike~~~strike~ — one tilde
Code`code``code` — same
Code block`````` — same
Blockquote> quote> quote — same
Link[text](url)<url|text> — angle brackets, pipe

So a single asterisk bolds text in Slack where Markdown needs two, and headings, tables and Markdown-style links simply don’t exist. Paste Markdown into Slack and it comes out mangled — not because Slack is broken, but because it’s a different syntax wearing the same clothes.

By default you get a formatting toolbar in the message box rather than raw markup. If you’d rather type the characters yourself, go to your profile picture → Preferences → Advanced → Input Options and tick Format messages with markup. Two things change when you do: formatting is applied after you send the message rather than as you type, and messages you copy and paste appear as plain text.

Why your symbols get eaten

Three characters are load-bearing in mrkdwn, and any symbol string containing them is at risk:

  • Underscores _ italicise the text between them.
  • Asterisks * bold it.
  • Tildes ~ strike it through.

The classic casualty is the shrug. Paste ¯\_(ツ)_/¯ into Slack and it often arrives as ¯(ツ)/¯ — the left arm missing — because the backslash acts as an escape character and is consumed doing its job, and the underscore pair can italicise the face on top of that.

Fix one — double the backslash. Send ¯\\_(ツ)_/¯ and the reader sees the complete face. Our kaomoji guide covers the same problem across Discord and Reddit.

Fix two — use the slash command. Type /shrug at the start of a message and Slack appends a correctly formed ¯\_(ツ)_/¯ for you. It only works at the beginning of the message, and you can add text: /shrug I dunno sends your text with the shrug on the end.

Fix three — the universal one. Wrap anything in backticks and Slack stops interpreting it entirely:

`¯\_(ツ)_/¯`  →  renders literally, every character intact

Inline code preserves underscores, asterisks, tildes and backslashes exactly as typed. If a symbol string keeps mangling and you don’t want to debug why, backticks end the argument. The trade-off is the monospace box around it.

Typing symbols directly in the composer

Slack doesn’t intercept your operating system’s character input, so every normal method works inside the message box.

Windows. Press Windows key + . (or Windows key + ;) to open the emoji panel, then use the Ω symbols tab for arrows, currency, maths and punctuation. The same panel has a kaomoji tab. Full details in the Windows emoji shortcut guide.

Windows Alt codes work too, if you have a numeric keypad: hold Alt, type the code, release. Alt + 0176 gives °, Alt + 0177 gives ±, Alt + 0149 gives •.

Mac. Press Control + Command + Space for the Character Viewer, which has a full symbol browser. Option shortcuts also work as normal — Option + 8 is •, Shift + Option + 8 is °, Option + Shift + hyphen is —. See the Mac emoji shortcut guide.

Phones. Long-press keys on the keyboard, or switch to the symbol layout. Slack’s mobile composer accepts anything your keyboard produces.

For symbols you use daily, set up a text replacement at the OS level rather than hunting each time — it works in Slack and everywhere else. Our text replacement guide walks through it on both platforms.

Emoji shortcodes vs text symbols

Slack has two different systems that people conflate:

Emoji shortcodes use colons: type :white_check_mark: and Slack converts it to an emoji picture. These are Slack’s own names, they only work inside Slack, and they produce coloured emoji — not text characters. Typing : plus two letters opens the autocomplete.

Text symbols are real Unicode characters: ✓ ✗ → ★ • °. They copy out of Slack into email, documents and spreadsheets unchanged, they work in code blocks, and they stay monochrome. For anything that will leave Slack — a doc, a commit message, a status line someone will paste elsewhere — use text symbols.

Watch the auto-conversion. Slack turns typed emoticons into emoji by default, so :) becomes a picture. Turn it off in Preferences → Messages & Media → Convert my typed emoticons into emoji if you want your text to stay text.

A few text symbols get drawn as emoji anyway. ⚠ (U+26A0) and ⭐ (U+2B50) carry emoji presentation and will render coloured in Slack even though you typed a text character. If you need them monochrome, pick a non-emoji equivalent — ★ (U+2605) instead of ⭐, for example.

Custom emoji

Any workspace member with permission can upload custom emoji from Preferences → Customize (or the emoji picker’s Add Emoji button). Useful to know: custom emoji are per-workspace. Anyone outside your workspace — in a Slack Connect channel, or reading a copied message — sees the raw :shortcode: text instead of the image. Text symbols never have this problem.

Channel and display names

Channel names are lowercase only and can’t contain spaces or periods. Slack normalises what you type, so symbol-heavy channel names generally don’t survive.

Display names are far more permissive and accept Unicode symbols and emoji. Worth restraint though: a display name full of symbols is read out character by character by screen readers, and it makes you harder to find in search and mentions.

Troubleshooting

ProblemFix
The shrug loses its left armBackslash consumed as an escape. Use /shrug, or send ¯\\_(ツ)_/¯.
Text between two symbols went italicUnderscores italicise in mrkdwn. Wrap in backticks, or remove one underscore.
Text went bold unexpectedlyA single * bolds in Slack, unlike Markdown’s **. Backticks disable it.
Pasted Markdown looks wrongSlack uses mrkdwn — no headings, no tables, different link syntax. Reformat, don’t paste.
:) keeps turning into an emojiPreferences → Messages & Media → uncheck Convert my typed emoticons into emoji.
A symbol shows as a boxFont coverage gap. See symbol showing as a box.
Custom emoji shows as :name: to someone elseCustom emoji are workspace-only. Use a text symbol or a standard emoji.
Symbols vanish when I paste codePaste inside a code block (```) so nothing is interpreted.

Recap

If you wantDo this
A symbol, fastCopy from the buttons above
To type one on WindowsWin + . → Ω symbols tab
To type one on MacCtrl + Cmd + Space
A shrug that survivesType /shrug
Any string to render literallyWrap it in backticks
Bold text*one asterisk*, not two
Something that leaves Slack intactUse text symbols, not :shortcodes:

Frequently asked questions

Does Slack use Markdown?

No. Slack uses its own syntax called mrkdwn, which looks similar but differs in important ways. Bold takes one asterisk rather than two, italics use underscores only, and headings, tables and Markdown-style links are not supported at all.

Why does the shrug lose its left arm in Slack?

Because the backslash acts as an escape character and gets consumed escaping the underscore that follows it. Type /shrug at the start of your message and Slack inserts a correct shrug for you, or send a doubled backslash instead.

How do I stop Slack from formatting my symbols?

Wrap the text in single backticks for inline code, or in triple backticks for a code block. Slack does not interpret asterisks, underscores, tildes or backslashes inside code formatting, so every character renders exactly as typed.

What is the difference between :white_check_mark: and ✓ in Slack?

The shortcode produces a coloured emoji that only exists inside Slack, while ✓ is a real Unicode character. Text symbols survive being copied into documents, email and code, and they stay monochrome; emoji shortcodes do not travel outside Slack.

How do I type an arrow or a bullet in Slack?

Press Windows key + . on Windows and use the symbols tab, or Control + Command + Space on Mac to open the Character Viewer. Both work inside the Slack message box, and you can also copy the character and paste it in.

Can I use symbols in a Slack channel name?

Not really. Channel names are lowercase only and cannot contain spaces or periods, and Slack normalises what you type. Display names are much more permissive and do accept Unicode symbols and emoji.

Written by Igor R. Tested on Slack for Windows 11, macOS, iOS and Android. Last updated September 2026. Symbol code points follow the Unicode Standard.

Leave a Comment