hugovk/em-keyboard

The CLI emoji keyboard

Python

336

455 commits

updated Sep 1, 2026

See the code

README

em: the cli emoji keyboard

PyPI version Supported Python versions PyPI downloads GitHub Actions status Codecov Licence Code style: Black

Emoji your friends and colleagues from the comfort of your own terminal.

em is a nifty command-line utility for referencing emoji characters by name. Provide the names of a few emoji, and those lucky chosen emojis will be displayed in your terminal, then copied to your clipboard. Automagically.

Emoji can be also searched by both categories and aspects.

Example Usage

Let's serve some delicious cake:

$ em sparkles shortcake sparkles
Copied! ✨ 🍰 ✨

Let's skip the copying (for scripts):

$ em 'chocolate bar' --no-copy
🍫

Let's find some emoji, by color:

$ em -s yellow
πŸ’›  yellow_heart
πŸ‘©  woman
🐀  baby_chick
🐠  tropical_fish
🌻  sunflower
🌼  blossom
🚧  construction
πŸŒ•  full_moon
⭐  star
πŸ“’  ledger
🚸  children_crossing
πŸ”°  japanese_symbol_for_beginner
🟑  yellow_circle
🟨  yellow_square
🫚  ginger_root

If there's only a single search result, it's copied:

$ em -s ukraine
Copied! πŸ‡ΊπŸ‡¦  flag_ukraine

Pick a random emoji:

$ em --random
Copied! πŸ’€  zzz

Pick a random emoji:

$ em --search yellow --random
Copied! 🟨  yellow_square

Installation

At this time, em requires Python and pip:

python3 -m pip install em-keyboard

On Linux, an additional dependency is required for automatic copying to clipboard. This would be either xclip in an X11 session or wl-clipboard in a Wayland session. On a Debian-based distribution these are installable with:

sudo apt install xclip
sudo apt install wl-clipboard

Tests

If you wanna develop, you might want to write and run tests:

python3 -m pip install tox
tox

Have fun!

✨🍰✨

cli
command-line-interface
emoji
emoji-picker
hacktoberfest
python
terminal

Contributors

hugovk

309 commits

kennethreitz

40 commits

renovate[bot]

31 commits

hugovk/em-keyboard

The CLI emoji keyboard

Python

336

455 commits

updated Sep 1, 2026

See the code

README

em: the cli emoji keyboard

PyPI version Supported Python versions PyPI downloads GitHub Actions status Codecov Licence Code style: Black

Emoji your friends and colleagues from the comfort of your own terminal.

em is a nifty command-line utility for referencing emoji characters by name. Provide the names of a few emoji, and those lucky chosen emojis will be displayed in your terminal, then copied to your clipboard. Automagically.

Emoji can be also searched by both categories and aspects.

Example Usage

Let's serve some delicious cake:

$ em sparkles shortcake sparkles
Copied! ✨ 🍰 ✨

Let's skip the copying (for scripts):

$ em 'chocolate bar' --no-copy
🍫

Let's find some emoji, by color:

$ em -s yellow
πŸ’›  yellow_heart
πŸ‘©  woman
🐀  baby_chick
🐠  tropical_fish
🌻  sunflower
🌼  blossom
🚧  construction
πŸŒ•  full_moon
⭐  star
πŸ“’  ledger
🚸  children_crossing
πŸ”°  japanese_symbol_for_beginner
🟑  yellow_circle
🟨  yellow_square
🫚  ginger_root

If there's only a single search result, it's copied:

$ em -s ukraine
Copied! πŸ‡ΊπŸ‡¦  flag_ukraine

Pick a random emoji:

$ em --random
Copied! πŸ’€  zzz

Pick a random emoji:

$ em --search yellow --random
Copied! 🟨  yellow_square

Installation

At this time, em requires Python and pip:

python3 -m pip install em-keyboard

On Linux, an additional dependency is required for automatic copying to clipboard. This would be either xclip in an X11 session or wl-clipboard in a Wayland session. On a Debian-based distribution these are installable with:

sudo apt install xclip
sudo apt install wl-clipboard

Tests

If you wanna develop, you might want to write and run tests:

python3 -m pip install tox
tox

Have fun!

✨🍰✨

cli
command-line-interface
emoji
emoji-picker
hacktoberfest
python
terminal

Contributors

hugovk

309 commits

kennethreitz

40 commits

renovate[bot]

31 commits

Languages

Python

97.6%

Shell

2.4%