🎉 UPDATE 1: You can now access the underlying dataset of this post via git-emoji/dataset-js repository on GitHub. It’s also available as a NPM package; @git-emoji/dataset-js.

🎉 UPDATE 2: This is now available as a VS Code extension, named Git-Emoji. Like the screen capture below, you can simply pick the best emojis based on the context of your commit message. You can install it from within VS Code or via extensions marketplace. You can also see this short blog post on this new extension.

Git-Emoji extension

🎉 UPDATE 3: You can see the old exhaustive list of contextual emojis in this new post.


What is Git-Emoji?

I have to confess that I’m madly in love with emojis. They’re cute, little digital beings that convey your emotions or meaning far better/deeper/shorter than words. Using them in git commit messages was a truly brilliant idea from whom we’d never know. Speaking of commit messages, it’s obvious we’re not going to leverage the emotional charge of the emojis –at least for now– but their terseness and excellent readability is their best merit we could use. Let alone their diversity, wide availability, and text nature.

That’s all why I started the Git-Emoji project to promote application of emojis in software development process. As a basic must, the project aims to provide you with basic tools that developers might need to embrace the beauty of emojis in their daily experience. But it’s not as simple as a list of emojis, there’s still more to select a perfect matching emoji.

The problem with emojis

As a big fan, I use emojis almost everywhere I can replace them for words, though sometimes it’s a little difficult to find the right emoji. When it comes to writing git commit messages, people won’t feel good for wasting 15 minutes looking for the best emoji on the context. That’s one reason, I guess, that emojis are yet to grow popular. There are few cases that our exact intention easily matches with an emoji. In most cases you have to rephrase, rethink or reshape your words to find that hidden one. I get it. That’s part of the features that project Git-Emoji will bring for you, named emojis by context.

Emojis by context (ContextV2 dataset)

More often that not I find myself trying to recall an emoji that fits best with my already written (or thought of) commit message. Not always would you find the closest emoji within a list like the one you’ve seen. That’s when you’d rather have a subject-/context-oriented table in which you could easily find the best candidates for your intent. If you’re using VS Code, you can simply install the Git-Emoji extension and receive context-related emoji suggestions. But don’t worry if you’re using a different IDE/editor, or you don’t want to install an extension, because here’s an example of such a list/table:

⚠️ This is the new version of the old exhaustive table.

Emojis Context (verb/noun/adjective)
🐞 :beetle:
🐛 :bug:
bogus
bug
bugfix
🔨 :hammer:
:hammer_and_pick:
🛠 :hammer_and_wrench:
🔧 :wrench:
amend
construct
correct
establish
fix
implement
patch
re-establish
re-factor
re-implement
re-stablish
reestablish
refactor
reimplement
repair
restablish
rewrite
rewriting
⛔️ :no_entry:
🚫 :no_entry_sign:
erroneous
faulty
foul
incorrect
wrong
🗃 :card_file_box:
📦 :package:
archive
archiving
box
contain
container
dependencies
dependency
dependent
library
package
packaging
🗳 :ballot_box:
🗃 :card_file_box:
🎁 :gift:
📥 :inbox_tray:
👐 :open_hands:
📤 :outbox_tray:
📦 :package:
🐚 :shell:
cover
held
hold
safe
shell
wrap
📎 :paperclip:
🖇 :paperclips:
attach
👥 :busts_in_silhouette:
🎭 :performing_arts:
combination
combine
combining
convolve
convolving
distill
merge
merging
mix
🥂 :clinking_glasses:
🤝 :handshake:
handshake
handshaking
intro
introduce
introducing
introduction
unification
unify
unite
uniting
:heavy_plus_sign:
🪡 :sewing_needle:
add
append
insert
postfix
prefix
prepend
suffix
💣 :bomb:
🔥 :fire:
🗑 :wastebasket:
delete
deleting
deletion
drop
removal
remove
removing
trash
🗄 :file_cabinet: archive
archiving
seal
✖️ :heavy_multiplication_x:
:negative_squared_cross_mark:
:x:
cancel
close
closing
disable
disabling
:hand:
🛑 :stop_sign:
deprecate
deprecating
deprecation
📤 :outbox_tray:
✂️ :scissors:
away
exclude
excluding
exclusion
🔢 :1234:
📶 :signal_strength:
arrange
arranging
order
re-arrange
re-arranging
rearrange
rearranging
reorder
sort
📜 :scroll: array
list
queue
queueing
stack
🎨 :art:
💄 :lipstick:
💅 :nail_care:
beautification
beautiful
beautify
beauty
cosmetics
embellish
format
pretties
prettification
prettify
pretty
:sparkles: enhance
enhancing
improve
improving
polish
:arrow_double_up: update
updating
upgrade
upgrading
:arrow_double_down: degradation
degrade
degrading
downgradation
downgrade
downgrading
🔃 :arrows_clockwise:
🔄 :arrows_counterclockwise:
refresh
👓 :eyeglasses: readability
readable
📝 :pencil: register
☑️ :ballot_box_with_check:
✔️ :heavy_check_mark:
:white_check_mark:
confirm
conform
validate
validating
validation
validator
verification
verifier
verifies
verify
🔨 :hammer:
🖊 :pen:
💉 :syringe:
🔧 :wrench:
applied
apply
commit
put
set
👶 :baby:
🐤 :baby_chick:
immature
initial
pre-mature
premature
🎁 :gift:
🆕 :new:
🌱 :seedling:
feature
featuring
fresh
new
⬆️ :arrow_up:
:heavy_plus_sign:
bump
increase
increasing
increment
up
⬇️ :arrow_down:
:heavy_minus_sign:
decrease
decreasing
decrement
down
🏷 :label: revision
version
↔️ :left_right_arrow:
🎭 :performing_arts:
alternate
alternating
alternation
alternative
switch
💡 :bulb:
🌞 :sun_with_face:
awake
awaking
awoke
day
daylight
enable
enabling
light
on
wake
waking
woke
🌙 :crescent_moon:
💤 :zzz:
dark
disable
disabling
night
off
sleep
👕 :shirt:
👕 :tshirt:
lint
style
styling
🚿 :shower: clean
♻️ :recycle: recycle
recycling
🕵 :detective:
🔍 :mag:
🔎 :mag_right:
assess
rethink
retro
retrospect
🗜 :clamp: fixture
fixturing
⚗️ :alembic: test
🔍 :mag:
🔎 :mag_right:
🔬 :microscope:
browse
browsing
check
exam
find
found
look up
look-up
lookup
query
review
search
select
supervise
supervising
supervision
📏 :ruler:
📐 :triangular_ruler:
align
measure
measuring
meter
metre
transform
✈️ :airplane:
🚁 :helicopter:
🛩 :small_airplane:
move
moving
send
sent
transport
🚀 :rocket: deploy
install
launch
publish
set-up
setup
📻 :radio:
📡 :satellite:
📺 :tv:
broadcast
produce
producing
production
✉️ :envelope: email
mail
:grey_question:
:question:
ask
inquiry
query
question
request
📥 :inbox_tray: fetch
inbound
receive
receiving
take
taking
took
👂 :ear: call back
call-back
callback
consume
consuming
consumption
listen
subscribe
subscribing
:hourglass_flowing_sand:
:pause_button:
await
stand-by
standby
:alarm_clock:
:stopwatch:
:timer:
cron
job
time
timing
📆 :calendar:
🗓 :spiral_calendar:
calendar
date
period
repeat
repetition
repetitive
schedule
scheduling
↩️ :leftwards_arrow_with_hook: reset
revert
roll back
roll-back
rollback
undo
↪️ :arrow_right_hook: redo
📘 :blue_book:
📚 :books:
📙 :orange_book:
book
doc
document
guide
guiding
manual
read me
read-me
readme
reference
referencing
📝 :pencil:
✍️ :writing_hand:
comment
draft
notation
note
noting
text
📜 :scroll: log
record
❗️ :exclamation:
:grey_exclamation:
❗️ :heavy_exclamation_mark:
⚠️ :warning:
beware
bewaring
caution
look out
look-out
lookout
notice
noticing
warn
warning
:hand: avoid
prevent
safe
💀 :skull:
🛑 :stop_sign:
abort
crash
dead lock
dead-lock
deadlock
error
exception
hang
kill
stop
☣️ :biohazard:
☠️ :skull_and_crossbones:
danger
hazard
👨 :man:
👩 :woman:
human
operator
user
👦 :boy:
👨 :man:
👴 :older_man:
boy
male
man
👧 :girl:
👵 :older_woman:
👩 :woman:
female
girl
woman
🖼 :framed_picture: canvas
css
front end
front-end
frontend
html
image
imaging
picture
ui
user experience
user interface
user-experience
user-interface
ux
view
⚙️ :gear: config
option
parameter
set-up
setting
setup
🤡 :clown:
🎭 :performing_arts:
emulate
emulating
emulation
fake
faking
impersonate
impersonating
impersonation
improvisation
improvise
improvising
mock
simulate
simulating
simulation
stub
🕵 :detective: inspect
investigate
investigating
investigation
investigator
spies
spy
🔑 :key:
🗝 :old_key:
field
key
properties
property
🏃 :runner: action
execute
executing
execution
play
ran
run
start
🤸‍♂ :man_cartwheeling:
🤸‍♀ :woman_cartwheeling:
behavior
behaviour
function
method
:hand:
❗️ :heavy_exclamation_mark:
bound
boundaries
boundary
ceiling
constrain
floor
limit
restrain
restrict
threshold
🗒 :spiral_notepad: body
content
detail
📚 :books: info
information
💻 :computer: data
💾 :floppy_disk: buffer
memorization
memorize
memory
persist
save
saving
serialization
serialize
serializing
storage
store
storing
write
writing
📤 :outbox_tray: deserialization
deserialize
deserializing
load
read
🔐 :closed_lock_with_key:
🛡 :shield:
acl
anti virus
anti-virus
antivirus
conceal
encode
encoding
encrypt
guard
hash
hid
hidden
hide
hiding
lock
protect
restrict
scramble
scrambling
secret
secure
securing
security
shield
sign
👮 :policeman:
👮‍♀ :policewoman:
authenticate
authenticating
authentication
authorization
authorize
authorizing
📂 :open_file_folder: open
🔓 :unlock: decode
decoding
decrypt
release
releasing
reveal
un-cover
uncover
unleash
unscramble
unscrambling
unveil
🔑 :key: access
🌍 :earth_africa:
🗺 :world_map:
address
identifier
location
path
route
routing
uri
url
🎨 :art:
🖼 :framed_picture:
demonstrate
demonstrating
demonstration
draw
drew
illustrate
illustrating
illustration
paint
📽 :film_projector:
📺 :tv:
display
show
visibilities
visibility
visible
🖨 :printer: print
✂️ :scissors: ignore
ignoring
jump
skip
un-follow
unfollow
🗑 :wastebasket: forget
forgot
neglect
over look
over-look
overlook
🔃 :arrows_clockwise:
🔄 :arrows_counterclockwise:
re-attempt
re-boot
re-run
re-start
reattempt
reboot
reconnect
reconstruct
repeat
rerun
restart
retried
retry
:play_or_pause_button: attempt
began
begin
begun
boot
init
initialization
initialize
initializing
launch
ran
run
start
trial
tried
try
:pause_button: held
hold
hold up
hold-up
holdup
interrupt
pause
pausing
suspend
suspension
wait
:hand:
:stop_button:
abort
end
kill
stop
💣 :bomb: destroy
destruct
destruction
dispose
disposing
disposition
🎧 :headphone: silence
silencing
silent
suppress
🚩 :triangular_flag_on_post: direct
guide
guiding
instruct
landmark
navigate
navigating
navigation
navigator
redirect
🏠 :house: base
home
origin
root
🧠 :brain: brain
center
centre
core
❤️ :heart: heart
middle
middling
☣️ :biohazard:
☠️ :skull_and_crossbones:
breach
compromise
compromising
hack
hole
penetrate
penetrating
penetration
trespass
vulnerabilities
vulnerability
🧩 :jigsaw: add in
add-in
addin
component
modular
modulation
module
plug in
plug-in
plugin
💿 :cd: disc
image
imaging
🤹‍♂ :man_juggling:
🤹‍♀ :woman_juggling:
dealer
intermediate
intermediating
intermediation
middle man
middle ware
middle-man
middle-ware
middleman
middleware
🕸 :spider_web: graph
net
network
radial
🌳 :tree: tree
🍃 :leaf: edge
leaf
leaves
🏗 :building_construction: construct
structural
structure
structuring
🗺 :world_map: area
range
ranging
☔️ :umbrella: cover
shadow
support
🔁 :repeat: enumerate
enumerating
enumeration
for
iterate
iterating
iteration
loop
loop back
loop-back
loopback
repeat
repetition
repetitive
while
whilst
🚧 :construction:
:hourglass_flowing_sand:
block
hinder
pend
wip
work in progress
work-in-progress
workinprogress

There’s more

Project Git-Emoji is not just about a list of emojis to pick, there’s also an open-source dataset available for anyone would need it in anyway. Also, more tools are yet to come in the near future.

ℹ️ If you couldn’t find the emoji you were looking for, you can always consult with the emoji cheat sheet for a complete list of emojis that you can use on GitHub or other platforms.