The emojis that show up in every good README, changelog, and commit message — organised by category and ready to copy.
A well-placed emoji in a README, PR title, or commit message does something bullet points can't: it lets the reader parse status at a glance. GitHub, GitLab, and every modern chat tool render emojis natively, and the same 40–50 emojis show up in every good project's documentation. Here they are, organised by what they actually mean in a technical context.
To pick one and copy quickly, use our emoji picker. Everything below is copy-paste-friendly directly from this page.
These belong in changelogs, test output, CI logs, and PR descriptions.
✅ — done, passed, complete
❌ — failed, broken, removed
⚠️ — warning, breaking change, caveat
🚧 — work in progress, unfinished
🟢 🟡 🔴 — healthy / degraded / down (great for status pages)
⏳ — pending, blocked, waiting
🔒 — security-related, private
🔓 — opened access, public
Popularised by the Gitmoji convention — a shared vocabulary for what a commit does.
✨ — new feature
🐛 — bug fix
🔥 — removed code or files
♻️ — refactor without behaviour change
⚡️ — performance improvement
💄 — UI/style change
📝 — documentation update
🧪 — added or updated tests
🔧 — configuration change
⬆️ — dependency bump
⬇️ — dependency downgrade
💥 — breaking change
📦 — package, dependency, release
🚀 — deploy, ship, launch
🏗️ — build, scaffolding
🐳 — Docker
☸️ — Kubernetes (yes, that's really an emoji — U+2638)
🗄️ — database, storage
🌐 — networking, HTTP, DNS
🔗 — link, reference, foreign key
These make a long README skimmable. Put them at the start of section headings.
📖 — guide, long-form docs
🎯 — goals, objectives
💡 — tips, ideas, gotchas
❓ — FAQ, questions
📚 — resources, further reading
🔍 — examples, deep dive
🎓 — tutorial, learning
📋 — checklist, requirements
🧭 — navigation, table of contents
👋 — welcome, intro section
🙏 — acknowledgements, thanks
👥 — contributors, team
🤝 — partnerships, collaboration
💬 — discussion, chat, comment
🚨 — critical, urgent, security alert
ℹ️ — info, note
❗ — important
⭐ — recommended, favourite
🔥 — hot, trending, popular (different from the "removed" meaning above; context makes it clear)
🎉 — release, launch, milestone
🧹 — chore, cleanup, housekeeping commits
🔀 — merge, integration
🚑 — hotfix
🧵 — thread, concurrency, related PRs
♿ — accessibility improvement
🌍 🌏 — internationalisation, translations
📱 💻 — mobile / desktop platform-specific changes
Not every environment is emoji-safe. A quick compatibility map:
GitHub, GitLab, Bitbucket — full native rendering, plus shortcodes like :rocket:.
VS Code, most modern IDEs — render inline, though some monospace fonts fall back to two-column glyphs.
Terminals — mostly fine on modern macOS & Linux terminals; older Windows PowerShell hosts still garble multi-codepoint emojis.
Email clients — Gmail and Outlook render inline; some corporate spam filters penalise subject-line emojis.
Log aggregators — Splunk, Datadog, and Loki all render Unicode fine. The problem is usually your log shipper stripping high-codepoint bytes; check that pipeline before blaming the emoji.
1. One per line, maximum. Two emojis in the same sentence starts to look like a birthday card. One at the start of a heading is perfect; three in a row is spam.
2. Consistency beats cleverness. Pick one emoji for each meaning across your project and stick to it. If ✨ means "new feature" in your changelog, don't switch to 🎉 halfway through the year.
3. Watch the width. Emojis take variable space in monospaced fonts. In terminal output, a single emoji can be 1 or 2 columns wide depending on the terminal. If your log alignment matters, test in the actual terminal — don't just eyeball it in your editor.
4. Accessibility first. Screen readers announce emojis by their Unicode name. "⚠️" is read as "warning sign", "🚀" as "rocket". Never rely on the emoji alone to convey meaning — always pair it with a word. "✅ Passed" is fine; "✅" alone is not.
5. Skip in commit messages if your CI matters. Some CI/CD systems still trip on emojis in commit subjects, especially older Jenkins pipelines. Test yours before making them a project standard.
If you only ever memorise five: ✅ ❌ ⚠️ ✨ 🐛. That covers "passed / failed / warning / feature / bug" — enough for 90% of technical writing.
Creating helpful tools and sharing productivity insights to make your work easier.
Convert dates between DD/MM/YYYY, MM/DD/YYYY, YYYY-MM-DD, and 20+ other date formats. Free online date format converter with custom format support and one-click copy.
Send a WhatsApp message to any number without saving it to your contacts. Free, instant, no signup — perfect for businesses and one-off chats.
Convert between gold karats, purity percentage, touch, tunch, and 916/750/585/375 hallmark markings. Free online gold karat calculator and purity converter.
Generate custom QR codes for URLs, vCards, Wi-Fi, text, and more — high-resolution PNG and SVG download, free.
Convert byte arrays to strings online. Decode space- or comma-separated bytes (decimal, hex, or binary) to UTF-8 text. Free browser-based byte-to-string converter.