MDConverter
Universal In-Browser Converter
100% Client-Side Private

How to Use Emoji in Markdown

By the MDConverter team Β· Updated Β· 2 min read

Quick answer

There are two ways to put emoji in Markdown: paste the emoji character itself (πŸš€), which works everywhere, or type a shortcode between colons (:rocket:), which only works in apps that support shortcodes β€” GitHub, GitLab, Slack, Discord and many site generators. Shortcodes are not part of CommonMark, so pasting the real character is the portable choice for files that will be converted or published elsewhere.

Option 1: paste the emoji character

Emoji are ordinary Unicode text, so they work in any Markdown file, heading, list or table. Open your system's emoji picker to insert one:

  • Windows: Win + .
  • macOS: Ctrl + Cmd + Space (or the 🌐 key)
  • Linux (GNOME): Ctrl + . in most apps, or the Characters app
Markdown
## πŸš€ Release 2.0

- βœ… Dark mode
- πŸ› Fixed login redirect
- ⚠️ Requires Node 22
Result

πŸš€ Release 2.0

  • βœ… Dark mode
  • πŸ› Fixed login redirect
  • ⚠️ Requires Node 22

Option 2: shortcodes like :rocket:

Shortcodes are converted to emoji by the app, not by Markdown. In a renderer without shortcode support (like the one used for examples on this site, which follows the GFM spec) they stay as text:

Markdown
Shipped :rocket: and fixed :bug: today :tada:
Result

Shipped :rocket: and fixed :bug: today :tada:

On GitHub this shows as β€œShipped πŸš€ and fixed πŸ› today πŸŽ‰β€. GitHub’s editor suggests codes as you type after a colon.

Popular shortcodes on GitHub, Slack and Discord:

Emoji Shortcode Emoji Shortcode
πŸš€ :rocket: βœ… :white_check_mark:
πŸŽ‰ :tada: ❌ :x:
πŸ› :bug: ⚠️ :warning:
✨ :sparkles: πŸ“ :memo:
πŸ”₯ :fire: πŸ’‘ :bulb:
πŸ‘ :+1: / :thumbsup: ❀️ :heart:

Names differ slightly between apps, so test a shortcode before relying on it.

Emoji in commit messages and changelogs

Some teams prefix commits with emoji to show the type of change (the "gitmoji" convention: ✨ feature, πŸ› fix, πŸ“ docs). If you do, use the Unicode character rather than the shortcode in files outside GitHub, because tools that generate changelogs may not convert shortcodes.

Emoji when converting Markdown

Unicode emoji pass through every converter on this site unchanged β€” into Word, PDF, Google Docs, Slack and plain text. How they look depends on the fonts of the app that opens the file: Word shows them in color on Windows 11 and macOS, and older systems may show a black-and-white glyph. Shortcodes are converted as text.

Shortcode support by app

AppSupportedNotes
GitHub / GitLabYesShortcodes in files, issues and comments, with autocomplete.
Slack, DiscordYesShortcodes and custom server emoji.
ObsidianNoNot built in; community plugins add shortcodes. Unicode emoji work.
VS Code previewNoNot built in; extensions add it.
MkDocs (Material), Docusaurus, HugoPartlyAvailable through extensions or the enableEmoji setting.
Word, Google DocsNoPaste the emoji character instead.

Common mistakes and how to fix them

ProblemFix
:smile: shows as textThe app does not support shortcodes. Paste πŸ˜„ instead.
Emoji shows as a square boxThe viewer’s font has no glyph for that emoji (often a newer emoji on an older system).
Emoji in a heading breaks the anchor linkEmoji are removed from GitHub anchors, so ## πŸš€ Launch links as #-launch. Check the generated anchor.

Tools for this

Frequently Asked Questions

Frequently Asked Questions About Emoji

Comprehensive answers to common technical, formatting, security, and compatibility questions.

No. CommonMark and GitHub Flavored Markdown do not define them; individual apps (GitHub, Slack, Discord, some site generators) convert :shortcodes: themselves. Unicode emoji characters are plain text and work everywhere.

Sources

← All Markdown lessons Β· Markdown cheat sheet