Linux Keyboard Shortcuts for Special Characters
Find verified ways to type Unicode characters, accents, symbols and emoji on Linux using code-point input, Compose sequences, character tools and environment-specific methods.
6 Ways to Type Special Characters in Linux
Choose the most efficient input technique for your environment, keyboard layout, and writing needs.
Unicode Code-Point Entry
Scope: GNOME, GTK Applications & IBus
Press Ctrl+Shift+U, release, type the hexadecimal code point, and press Enter or Space to insert any Unicode character.
Compose Key Sequences
Scope: System-Wide (X11 & Wayland XKB)
Press your assigned Compose key, then press mnemonic keys sequentially (e.g. Compose → ' → e = é).
Desktop Character Map
Scope: Desktop GUI
Browse, search by English name, and copy any Unicode symbol or emoji with a visual GUI viewer.
Desktop Emoji Palette
Scope: GNOME Shell & KDE Plasma
Open the native emoji picker with Ctrl+; (GNOME) or Meta+. (KDE Plasma) to search and insert emoji.
Keyboard Layouts & AltGr
Scope: Active Keyboard Layout
Use Level 3 AltGr combinations or dead keys available on international layouts (e.g. US International, UK English).
Input Frameworks (IBus / Fcitx5)
Scope: Complex Writing Systems
Compose complex text (Arabic, Chinese, Japanese, Korean, Indic) via phonetic typing and candidate selection.
Search Linux Special Characters
Most Common Linux Character Shortcuts
Quick reference for the most frequently queried symbols, currency signs, and punctuation marks in Linux.
| Glyph | Character Name | Unicode | Method | Key Sequence | Scope | Copy |
|---|---|---|---|---|---|---|
| Copyright Sign |
U+00A9
|
Compose Key |
Compose
o
c
Press Compose, then o, then c
|
Universal Compose / GTK Hex | ||
| Registered Sign |
U+00AE
|
Compose Key |
Compose
o
r
Press Compose, then o, then r
|
Universal Compose / GTK Hex | ||
| Trade Mark Sign |
U+2122
|
Compose Key |
Compose
t
m
Press Compose, then t, then m
|
Universal Compose / GTK Hex | ||
| Euro Sign |
U+20AC
|
Compose Key |
Compose
c
=
Press Compose, then c, then equals (or e then =)
|
Universal Compose / AltGr (UK/EU) | ||
| Pound Sign |
U+00A3
|
Compose Key |
Compose
l
-
Press Compose, then l, then hyphen
|
Universal Compose / Shift+3 (UK) | ||
| Degree Sign |
U+00B0
|
Compose Key |
Compose
o
o
Press Compose, then o twice
|
Universal Compose / GTK Hex | ||
| Bullet |
U+2022
|
Compose Key |
Compose
.
=
Press Compose, then period, then equals
|
Universal Compose / GTK Hex | ||
| Em Dash |
U+2014
|
Compose Key |
Compose
-
-
-
Press Compose, then hyphen three times
|
Universal Compose / GTK Hex | ||
| En Dash |
U+2013
|
Compose Key |
Compose
-
-
.
Press Compose, then hyphen twice, then period
|
Universal Compose / GTK Hex | ||
| Plus-Minus Sign |
U+00B1
|
Compose Key |
Compose
+
-
Press Compose, then plus, then hyphen
|
Universal Compose / GTK Hex | ||
| Division Sign |
U+00F7
|
Compose Key |
Compose
:
-
Press Compose, then colon, then hyphen
|
Universal Compose / GTK Hex | ||
| Infinity |
U+221E
|
Ctrl+Shift+U |
Ctrl
Shift
U
221E
Enter
Press Ctrl+Shift+U, release, type 221E, then press Enter or Space
|
GTK Hex / Extended Compose | ||
| Latin Small Letter E with Acute |
U+00E9
|
Compose Key |
Compose
'
e
Press Compose, then apostrophe, then e
|
Universal Compose / US Int'l Dead Key | ||
| Latin Small Letter E with Grave |
U+00E8
|
Compose Key |
Compose
`
e
Press Compose, then backtick, then e
|
Universal Compose / US Int'l Dead Key | ||
| Latin Small Letter N with Tilde |
U+00F1
|
Compose Key |
Compose
~
n
Press Compose, then tilde, then n
|
Universal Compose / US Int'l Dead Key | ||
| Latin Small Letter U with Diaeresis |
U+00FC
|
Compose Key |
Compose
"
u
Press Compose, then quotation mark, then u
|
Universal Compose / US Int'l Dead Key | ||
| Arabic Letter Ain |
U+0639
|
Ctrl+Shift+U |
Ctrl
Shift
U
0639
Enter
Press Ctrl+Shift+U, release, type 0639, then press Enter
|
GTK Hex / Arabic Layout / IBus | ||
| CJK Unified Ideograph-4E2D (Zhong) |
U+4E2D
|
Ctrl+Shift+U |
Ctrl
Shift
U
4E2D
Enter
Press Ctrl+Shift+U, release, type 4E2D, then press Enter
|
GTK Hex / IBus-libpinyin / Fcitx5 |
Linux Unicode Code-Point Input (Ctrl + Shift + U)
Type any Unicode character in GNOME and GTK-based applications using its hexadecimal code point.
The 4-Step Input Sequence
Press and hold Ctrl and Shift, then press U, and release all keys.
An underlined letter u will appear at your cursor, signaling that hexadecimal capture mode is active.
Type the hex digits without any leading "U+". For example, type 221e for infinity (∞) or 00a9 for copyright (©).
Press Enter or Space. The underlined text instantly transforms into your desired symbol.
Working Example: Infinity (U+221E)
Ctrl+Shift+U is not limited to 4 digits. It fully supports 5-digit and 6-digit code points in supplementary planes, such as musical symbols (1D11E for 𝄞) and emoji (1F600 for 😀).
Ctrl+Shift+U is implemented by GtkIMContextSimple and IBus. While standard in GNOME, Firefox, and LibreOffice, it is not universal across all terminals (e.g. Alacritty, Kitty) or pure Qt applications. In those environments, use Compose keys or copy-paste.
The Linux Compose Key: Setup & How It Works
Type accents, fractions, and symbols using intuitive two- and three-key sequential chords.
Standard PC keyboards do not have a dedicated key labeled "Compose". To use Compose sequences, you must first assign an existing physical key (such as Right Alt / AltGr, Caps Lock, or Right Ctrl) in your desktop settings.
Enable in GNOME Settings
- Open Settings → click Keyboard.
- Scroll to Special Character Entry and click Compose Key.
- Turn the toggle switch ON.
- Select Right Alt (recommended) or Caps Lock.
Enable in KDE System Settings
- Open System Settings → Input Devices → Keyboard.
- Click the Advanced tab at the top.
- Expand Position of Compose key.
- Check your preferred key (e.g. Right Alt) and click Apply.
Enable via Command Line
For current X11 session:
setxkbmap -option compose:ralt
For permanent systemd keymap:
localectl set-x11-keymap us pc105 "" compose:ralt
How Sequential Compose Chords Work
Unlike modifier shortcuts where keys must be pressed at the exact same moment, Compose chords are entered one key at a time in sequence:
Standard Linux Compose Key Sequences
Verified mnemonic combinations defined in standard X11 and GTK Compose tables.
Accented Letters (Vowels & Consonants)
Punctuation & Quotation Marks
Fractions & Mathematics
Linux Desktop Character Map Applications
Search, browse, and copy any Unicode symbol or emoji using built-in desktop utilities.
GNOME Characters
Pre-installed on Ubuntu Desktop and Fedora Workstation. Allows browsing by category (Letters, Punctuation, Math, Currencies, Emoji) or instant search.
- Press Super (Windows key) to open Activities.
- Type
Charactersand press Enter. - Or run in terminal:
gnome-characters &
KDE KCharSelect
A comprehensive Unicode browser for KDE Plasma systems. Displays full Unicode technical details, hex code points, font rendering previews, and UTF-8 byte representations.
- Press Alt + F2 or Super.
- Type
KCharSelectand press Enter. - Or run in terminal:
kcharselect &
Inserting Emoji on Linux: Hotkeys & Palettes
Open native desktop emoji pickers to search and insert smileys, people, and pictographs.
In any native GTK3/GTK4 text field (Gedit, Firefox, LibreOffice), press:
A lightweight emoji popup will appear right at your cursor. You can immediately type to search (e.g. :smile:, :heart:) or click to insert.
On KDE Plasma 5.18 and Plasma 6, press:
Opens the native Plasma Emoji Selector widget, showing recent emoji and categorized Unicode tabs with integrated clipboard copying.
Many modern emoji are constructed from multiple Unicode code points joined by Zero-Width-Joiners (ZWJ, U+200D). Because Ctrl + Shift + U can only process a single hexadecimal code point at a time, **you cannot type an entire family or profession emoji with one hex command**. Instead, use the native desktop emoji picker or use 1-click Copy on CopyCharacter.
Keyboard Layouts, AltGr & Dead Keys
Access characters directly on your keyboard by enabling international layouts and modifier layers.
What is AltGr (Alternate Graphic)?
On international keyboard layouts, the physical Right Alt key acts as AltGr (Level 3 Shift). Holding AltGr allows your standard alphanumeric keys to type alternate symbols:
Dead Keys vs. Compose Key
Many users confuse Dead Keys with the Compose Key. Here is the critical difference:
| Feature | Dead Keys | Compose Key |
|---|---|---|
| Scope | Layout-dependent (e.g. us_intl) |
Universal (any keyboard layout) |
| Mechanism | Pressing accent key produces nothing until the next letter is pressed | Sequential chord started by assigned key (e.g. Right Alt) |
| Regular Apostrophe | Must press ' then Space to type normal quote | Normal keys behave normally until Compose key is pressed |
Input Method Frameworks (IBus & Fcitx5)
Phonetic candidate engines for typing complex writing systems including Arabic, Chinese, Japanese, Korean, and Indic scripts.
IBus (Intelligent Input Bus)
IBus is deeply integrated into GNOME Shell and Ubuntu. It manages multilingual input engines and bridges Unicode input across GTK, Qt, and X11 applications.
- Switch Input Engines: Press Super + Space (or Shift + Super + Space).
- Popular Engines:
ibus-libpinyin(Chinese),ibus-mozc(Japanese),ibus-hangul(Korean),ibus-m17n(Arabic & Indic). - Settings: GNOME Settings → Keyboard → Input Sources → click + to add an engine.
Fcitx5
Fcitx5 is a lightweight, responsive input framework with first-class Wayland support, modular theming, and native Qt5/Qt6 and GTK input method plugins.
- Toggle Input Engine: Press Ctrl + Space.
- Popular Engines:
fcitx5-chinese-addons,fcitx5-mozc,fcitx5-hangul. - Settings: Open Fcitx 5 Configuration utility to adjust trigger hotkeys and skin layouts.
If you only need a single glyph occasionally, you don't need to install a full IME. Use Ctrl + Shift + U 0639 for Arabic Ain (ع), Ctrl + Shift + U 4E2D for CJK Zhong (中), or use 1-click Copy right here on CopyCharacter.
Troubleshooting Linux Character Shortcuts
Common causes for missing symbols, shortcut conflicts, and toolkit limitations in Linux.
Ctrl + Shift + U does nothing or types a literal "u" in terminal
Many Linux terminal emulators (e.g. Alacritty, Kitty, st, xterm) do not bind to the GTK/IBus pre-edit text context.
Use your terminal's native copy-paste (Ctrl+Shift+V) or configure the Compose key, which functions directly at the XKB/display-server layer across terminal windows.
Pressing the Compose key does nothing at all
Standard PC keyboards have no physical Compose key; the feature is dormant until explicitly bound to a physical key.
Go to GNOME Settings → Keyboard → Special Character Entry → Compose Key and enable it (e.g. choose Right Alt). In KDE, use System Settings → Input Devices → Keyboard → Advanced.
Why does Ctrl + Shift + U not work in Chrome or Electron apps?
Chromium-based applications on Linux may have internal shortcut conflicts (e.g. Ctrl+Shift+U bound to extensions or developer tools) or lack direct IBus socket access.
Press Ctrl+Shift+U and release before typing the hex digits. If the pre-edit "u" does not appear, use Compose sequences or copy the character from CopyCharacter.
Can I type multi-character emoji like 👨👩👧👦 with Ctrl+Shift+U?
Complex emoji are Zero-Width-Joiner (ZWJ) sequences consisting of multiple distinct Unicode codepoints.
Ctrl+Shift+U only accepts a single code point at a time. Use the desktop emoji picker (Ctrl+; in GNOME, Meta+. in KDE) or 1-click Copy on CopyCharacter.
Frequently Asked Questions
Technical answers to recurring questions about typing symbols and Unicode on Linux.