Typing Emojis on Linux: Overview
Linux gives you several ways to insert emojis, depending on your desktop environment and input method. Unlike Windows or macOS, there is no single universal shortcut โ but once you configure your preferred method, emojiEmoji
A Japanese word (็ตตๆๅญ) meaning 'picture character' โ small graphical symbols used in digital communication to express ideas, emotions, and objects. input is fast and reliable. This guide covers GNOME, KDE, IBus, and terminal-based approaches.
Method 1: GNOME's Built-In Emoji Picker
If you run GNOME (the default desktop on Ubuntu, Fedora, Debian GNOME edition, and many others), you have a native emoji picker built in since GNOME 3.32.
Opening the GNOME Emoji Picker
Press this keyboard shortcut in any text field:
Ctrl + Shift + E
A small search box appears in the input area. Type an emoji name or keyword โ for example, type fire and press Enter to insert ๐ฅ. The picker is lightweight and works in GTK applications like GNOME Text Editor, Gedit, and the Files app.
The GNOME Characters App
GNOME also ships a full emoji browser called GNOME Characters. Install it if it isn't already present:
sudo apt install gnome-characters # Debian/Ubuntu
sudo dnf install gnome-characters # Fedora
Open it from your app launcher, search or browse by category, click an emoji, then click Copy to put it on your clipboard. Switch to your app and paste with Ctrl + V.
Method 2: IBus Emoji Picker
IBus (Intelligent Input Bus) is the most widely used input method framework on Linux and includes an emoji picker that works across almost all applications.
Installing IBus
sudo apt install ibus ibus-gtk ibus-gtk3 # Debian/Ubuntu
sudo dnf install ibus # Fedora
After installation, start IBus:
ibus-setup
Add IBus to your session startup (GNOME: add it to GNOME Settings โ Startup Applications, or set GTK_IM_MODULE=ibus in your environment).
Using the IBus Emoji Picker
Once IBus is running, use this shortcut in any text field:
Ctrl + Shift + E
A search-driven emoji picker appears. Type a keyword, use arrow keys to select an emoji, and press Enter to insert it. IBus renders the emoji as a literal UnicodeUnicode
Universal character encoding standard that assigns a unique number to every character across all writing systems and symbol sets, including emoji. character in the focused application.
Configuring the IBus Shortcut
If the default shortcut conflicts with another application, open ibus-setup, go to Emoji tab, and reassign the trigger key to something like Super + . (Windows key + period).
Method 3: KDE Plasma Emoji Picker
KDE Plasma 5.21 and later includes a built-in emoji picker panel widget.
Enabling the Emoji Picker on KDE
- Right-click on your taskbar and choose Add Widgets
- Search for Emoji Selector
- Drag it to your panel or desktop
Alternatively, open KRunner (press Alt + F2 or Alt + Space) and type emoji to launch the picker.
KCharSelect
KDE also ships KCharSelect, a full Unicode character browser:
sudo apt install kcharselect # Debian/Ubuntu
sudo dnf install kcharselect # Fedora
Launch it from your app menu, search for emojis by name or Unicode code pointCode Point
A unique numerical value assigned to each character in the Unicode standard, written in the format U+XXXX (e.g., U+1F600 for ๐)., select an emoji, and click Copy to Clipboard.
Method 4: Unicode Hex Input (Universal Method)
Every Linux desktop supports direct Unicode input โ no additional software required. This works in GTK and Qt applications.
In GTK Apps (GNOME, Xfce, MATE)
- Place your cursor where you want the emoji
- Hold
Ctrl + Shift, then pressU - Release all keys
- Type the Unicode code point (without the
U+prefix) โ for example,1F525for ๐ฅ - Press
EnterorSpace
The emoji appears immediately. This works in Firefox, LibreOffice, Gedit, and most GTK applications.
Example Code Points
| Emoji | Code Point | Hex Input |
|---|---|---|
| ๐ | U+1F600 | 1F600 |
| ๐ฅ | U+1F525 | 1F525 |
| โค๏ธ | U+2764 | 2764 |
| ๐ | U+1F44D | 1F44D |
| ๐ | U+1F389 | 1F389 |
| โ | U+2705 | 2705 |
Method 5: Terminal Emoji Input
Printing Emojis in Bash
In any modern terminal with a Unicode-capable font, you can print emoji characters directly:
# Print a single emoji
echo "๐ฅ"
# Using Unicode escape
echo -e "\U0001F525"
# In a variable
EMOJI=๐
echo "Build complete $EMOJI"
Setting Up Your Terminal for Emoji
If emojis display as boxes or question marks in your terminal, the issue is almost always font-related. Install a font with full emoji support:
sudo apt install fonts-noto-color-emoji # Debian/Ubuntu
sudo dnf install google-noto-emoji-fonts # Fedora
After installing, restart your terminal. For best results in the terminal, configure your terminal emulator to use Noto Color EmojiColor Emoji
Full-color emoji rendered using bitmap images or color vector graphics, as opposed to monochrome text-style rendering. or TwemojiTwemoji
An open-source emoji set originally created by Twitter, providing SVG and PNG emoji assets that can be used in any project. as a fallback font.
Setting the Locale
Ensure your locale is set to UTF-8UTF-8
A variable-width Unicode encoding that uses 1 to 4 bytes per character, dominant on the web (used by 98%+ of websites)., which is required for proper emoji rendering:
echo $LANG # Should output something like en_US.UTF-8
If not, configure your locale:
sudo locale-gen en_US.UTF-8
sudo update-locale LANG=en_US.UTF-8
Method 6: Third-Party Emoji Pickers
Several standalone emoji picker apps work across all Linux desktop environments:
emoji-picker-electron
A lightweight cross-platform emoji picker:
# Install via snap
snap install emoji-picker-electron
Bind it to a keyboard shortcut in your desktop's keyboard settings for instant access.
Rofi Emoji Plugin
If you use Rofi (a popular application launcher), the rofimoji plugin adds emoji search to Rofi's interface:
pip install rofimoji
Then trigger it with:
rofimoji
Bind this command to a global shortcut like Super + . in your desktop settings.
Quick Reference: Linux Emoji Methods
| Method | Desktop | Shortcut / Command |
|---|---|---|
| GNOME built-in | GNOME | Ctrl + Shift + E in text field |
| GNOME Characters app | GNOME | App launcher โ Characters |
| IBus emoji picker | All (with IBus) | Ctrl + Shift + E |
| KDE Emoji Selector | KDE | Panel widget or KRunner |
| GTK Unicode input | GTK apps | Ctrl + Shift + U โ hex code |
| Terminal echo | Terminal | echo "๐ฅ" or echo -e "\U1F525" |
| rofimoji | All | rofimoji (bindable) |
Troubleshooting
Emojis appear as boxes: Install fonts-noto-color-emoji and restart your session.
Ctrl + Shift + E doesn't work: The shortcut is application-dependent in GNOME. Try it in Gedit or GNOME Text Editor first to confirm it works, then check if your target app overrides the shortcut.
IBus not starting automatically: Add export GTK_IM_MODULE=ibus and export QT_IM_MODULE=ibus to your ~/.profile or ~/.bash_profile.
Explore More on EmojiFYI
- Use the Emoji Keyboard to find and copy any emoji without leaving your browser
- Look up the Unicode code point for any emoji with the Sequence Analyzer
- Search emojis by keyword in EmojiFYI Search
- Browse emoji terminology in the Glossary