Markdown Emoji Picker
Pick emoji for your README, changelog, and PRs โ Unicode or:shortcode:
A curated set of engineering-friendly emoji โ status, release, tooling, docs, writing, people, and reactions. Filter by keyword, browse by category, copy as Unicode or:shortcode:. Works for GitHub, GitLab, Slack, Discord, and static sites.
Click any tile to copy the character.
GitHub, GitLab, Slack, and most chat tools render :shortcode: emoji. Static renderers (CommonMark, many static-site generators) require the literal Unicode character. Toggle the mode to copy the format that works on your destination.
How to use the Markdown emoji picker
- Pick a category (Status, Release, Tooling, Docs, Writing, People, Reactions).
- Filter by keyword โ try
bug,launch,docs,warn. - Choose copy mode โ Unicode for static renderers,
:shortcode:for GitHub / Slack. - Click any tile to copy. Paste straight into your README, PR description, release note, or chat message.
Why use emoji in Markdown at all?
Emoji aren't decoration for its own sake โ they're visual anchors in long-form documents. A small icon next to a section header is more scannable than a wall of bold prose.
Common patterns:
- READMEs: a tiny set of icons in the Features list (โจ New, ๐ Fixed, โก Performance) makes a 50-line release section scannable in 5 seconds.
- Changelogs: Keep-a-Changelog purists keep emoji out of the spec, but many open-source projects (Vite, Next.js, others) use them to label sections.
- PR templates: emoji checkboxes (โ tests pass, ๐ docs updated, ๐ security review) communicate status faster than text.
- Commit messages: gitmoji convention (
โจ Add login,๐ Fix crash) givesgit loga visual rhythm. - Docs callouts: โ ๏ธ for warnings, ๐ก for tips, โน๏ธ for info โ recognizable from any other doc system.
Categories at a glance
| Category | Best for |
|---|---|
| Status | Checklists, build states, decision pages. |
| Release | Changelogs, version tags, ship posts. |
| Tooling | CI / build / config sections. |
| Docs | Reference indexes, "see also" links. |
| Writing | Section openers, callouts in long prose. |
| People | Acknowledgements, contributor lists, welcome notes. |
| Reactions | PR review comments, support messages, chat. |
Unicode vs shortcode โ quick decision guide
- Targeting GitHub UI, GitLab, Slack, Discord? Use shortcodes โ they're more readable in source and render the same.
- Targeting a static site, Pandoc, or unknown renderer? Use Unicode โ guaranteed to render.
- Mixed audience? Default to Unicode. It works everywhere; shortcodes don't.
Accessibility tips
- Don't rely on emoji as the only signal. Pair with text: โ Done, not just โ .
- Avoid carriers of cultural meaning that translate poorly across regions (๐, ๐ค in some locales).
- Skin-tone modifiers can be picked from your OS emoji panel โ this picker keeps the catalog neutral.
- Screen readers read the emoji name aloud (๐ โ "rocket"), which can be surprising in a serious announcement. Hide decorative emoji with
aria-hiddenwhen the surrounding text already conveys the meaning.
Companion tools
- Markdown Editor โ paste copied emoji into a live preview.
- Markdown Changelog Helper โ format release notes that use emoji section markers.
- GFM Compliance Checklist โ make sure your emoji headings still match GFM expectations.
Privacy & data
The picker is a fully client-side catalog. Nothing is uploaded; the clipboard write happens locally.
Frequently asked questions
- It depends on where the Markdown is rendered. GitHub, GitLab, Slack, Discord, and most chat tools translate `:rocket:` to ๐ automatically. Static-site generators (CommonMark renderers, many Hugo themes, vanilla Marked) do not โ they need the literal Unicode character. Toggle the copy mode at the top to grab the format your destination expects.
- Most emoji never end up in a README or release note. This picker focuses on the ~50 emoji engineering teams actually use โ status, release, tooling, docs, and reactions โ so you find the right one in two seconds instead of scrolling a 3000-emoji catalog.
- Yes. The filter input matches names, keywords, and shortcodes. Try queries like `release`, `bug`, `docs`, `thanks`, `warn`. Combine with a category pill to narrow further.
- Unicode mode copies the actual character (๐). Shortcode mode copies the GitHub-style identifier (`:rocket:`). Use Unicode when your renderer doesn't expand shortcodes; use shortcodes when sharing in chat tools or GitHub UI where they render automatically.
- It overlaps. Gitmoji is a convention for prefixing git commits with emoji to signal intent (โจ for new features, ๐ for fixes). The release and tooling categories here align with that convention, but you can also use this picker for general README and docs work without committing to gitmoji.
- Each rendered emoji is decorative when used as a label decoration. If an emoji carries meaning on its own (e.g., '๐จ Important'), pair it with text and consider an `aria-label` so screen readers don't read 'police car' for what you meant as 'alert'.