Done / Passing
:white_check_mark: A task is complete, a check passed, or a box is ticked.
When: Mark a checklist item finished, signal a green CI run, or confirm a request is handled.
Used in: Slack, GitHub, Jira, commit
26 emoji you'll meet in Slack threads, GitHub PRs, Jira tickets, and commit messages β what each one signals, when to use it, and the alias to type it.
Last reviewed:
On distributed, async teams a single emoji carries a whole sentence. A β reaction closes a thread without a reply; a π says "I'm reviewing this"; a π in a channel means "we just shipped". Emoji are fast, scannable, and language-agnostic β which is exactly why the conventions below have settled into a shared vocabulary across companies.
:white_check_mark: A task is complete, a check passed, or a box is ticked.
When: Mark a checklist item finished, signal a green CI run, or confirm a request is handled.
Used in: Slack, GitHub, Jira, commit
:x: Something failed, was rejected, or is not done.
When: A test failed, a PR was declined, or an item is explicitly not happening.
Used in: Slack, GitHub, Jira
:large_green_circle: All healthy / operational. The "everything is fine" light.
When: Status dashboards, on-call channels, and incident threads to show services are up.
Used in: Slack, status pages
:large_yellow_circle: Degraded or warning β working, but not fully healthy.
When: Partial outage, elevated latency, or a metric trending the wrong way.
Used in: Slack, status pages
:red_circle: Down, blocked, or critical. The "stop, this is broken" light.
When: Outage declared, build broken, or a blocker that stops the team.
Used in: Slack, status pages
:dart: A goal, objective, or the thing we are aiming at.
When: Sprint goals, OKRs, or calling out the precise outcome a piece of work targets.
Used in: Slack, Jira
:construction: Under construction β not finished, handle with care.
When: Draft PRs, WIP commits, or sections of a doc that aren't ready.
Used in: Slack, GitHub, commit
:pause_button: Work is intentionally paused β not abandoned, just not active right now.
When: A ticket parked pending a decision, or a project waiting on a dependency.
Used in: Slack, Jira
:arrows_counterclockwise: In progress in a cyclical sense β under review, syncing, or being reprocessed.
When: A PR awaiting review, data syncing, or a retry loop in progress.
Used in: Slack, GitHub
:eyes: Someone is looking at it β acknowledging or actively reviewing.
When: React to a PR or message to say "I'm on it / I've seen this".
Used in: Slack, GitHub
:bulb: A suggestion, idea, or non-blocking proposal.
When: Offer an alternative in a review, or flag a thought without demanding a change.
Used in: Slack, GitHub
:rocket: Shipping it β a deploy, release, or launch.
When: Announce a release, kick off a deploy, or celebrate going live.
Used in: Slack, GitHub, commit
:boom: A change that breaks backward compatibility β consumers must update.
When: Flag a breaking API change in a PR title, changelog, or commit.
Used in: GitHub, commit
:zap: A performance or speed improvement.
When: Mark a commit or ticket that makes something faster or lighter.
Used in: GitHub, commit
:arrow_up: Bump a dependency to a newer version.
When: Dependency-update PRs and commits (often automated by bots).
Used in: GitHub, commit
:arrow_down: Roll a dependency back to an older version.
When: When a new version broke something and you need to revert it.
Used in: GitHub, commit
:bug: A defect β something behaves incorrectly.
When: Label a bug report, a fix commit, or a Jira issue type.
Used in: Slack, GitHub, Jira, commit
:fire: On fire β urgent, needs attention now.
When: Flag a production problem or an urgent fix going out fast.
Used in: Slack, commit
:ambulance: An emergency fix for a critical production issue.
When: A patch that goes straight out to stop active damage. Stronger than π₯.
Used in: GitHub, commit
:lock: A change that addresses a security vulnerability.
When: Security patches in commits and changelogs, often after a CVE.
Used in: GitHub, commit
:memo: Documentation β writing or updating it.
When: Commits and PRs that only touch docs, READMEs, or comments.
Used in: GitHub, commit
:sparkles: gitmoji: introduce a new feature.
When: The canonical gitmoji prefix for feature commits β "β¨ Add dark mode".
Used in: commit (gitmoji)
:recycle: gitmoji: refactor code without changing behaviour.
When: Restructuring or tidying code with no functional change.
Used in: commit (gitmoji)
:pencil2: gitmoji: fix a typo.
When: Tiny text corrections in code, docs, or copy.
Used in: commit (gitmoji)
:art: gitmoji: improve structure or format of the code.
When: Formatting, linting, and style-only changes.
Used in: commit (gitmoji)
:test_tube: gitmoji: add or update tests.
When: Commits that add, fix, or refactor tests.
Used in: commit (gitmoji)
gitmoji is a popular convention for emoji-driven commit messages. Each commit starts with an emoji that signals its intent, so a glance down the git log tells you what kind of change each commit is β feature, fix, refactor, docs β without reading every message.
β¨ Add user profile export
π Fix off-by-one in pagination
β»οΈ Refactor auth middleware
π§ͺ Add tests for token refresh
π Update README install steps
β‘ Cache the expensive lookup
π Patch XSS in comment renderer
Tooling like the gitmoji-cli helps you pick the right emoji interactively. Some teams pair it with
Conventional Commits (e.g. feat:, fix:); others use one or the other. Pick one convention and apply it consistently.
Emoji don't mean the same thing everywhere. A π thumbs-up reads as a friendly "got it" to many, but in parts of the Middle East and West Africa it can be offensive, and across much of Gen Z online it can come across as passive-aggressive or dismissive β a curt "fine, whatever". The π folded hands emoji is read as "thank you" or "please" by some, as "prayer" by others, and as a "high five" by a few.
On a global team, prefer unambiguous status markers (β β π§ π΄) for anything that matters, and use a quick word when a reaction could be misread. When in doubt, write the sentence.