Type Unicode symbols directly on Windows, macOS, Linux, iPhone and Android using alt codes, hex input and the built-in character pickers.
The short version
Start here if you only have one minute. The full guide below explains each point.
Every symbol has a number
That number is what all the keyboard shortcuts use.
Each system has its own way
Windows, Mac and Linux each take the number in a different form.
Some symbols cannot be typed
Newer emoji and joined symbols have to be copied.
01
The number behind every character
Each Unicode character has one identifying number, written as U+ followed by hexadecimal digits. The heart suit is U+2665. That single value is what every keyboard method below consumes — the only difference is whether the platform wants it in hexadecimal or converted to decimal.
U+2665 in hexadecimal is 9829 in decimal. Windows alt codes take the decimal form; Word, macOS and Linux take the hexadecimal. Once you can read the code point off a reference table, you can type the character anywhere that offers an input method.
- Hexadecimal: what Unicode charts, Word, macOS and Linux use
- Decimal: what a Windows alt code and an HTML numeric reference use
- Both describe the same character — only the base differs
02
Windows: alt codes and the Alt+X trick
Hold Alt and type the decimal code point on the numeric keypad, then release. Alt followed by 9829 produces the heart suit. The keypad is required: the number row along the top of the keyboard does not work, which is why the method fails on most laptops without an external keyboard or an emulated keypad.
Microsoft Word offers a better route that needs no keypad at all. Type the hexadecimal code point, then press Alt+X, and Word replaces the digits with the character. Pressing Alt+X again reverses it, which makes it useful for reading a character's identity as well as writing it.
For anything else, the Windows emoji and symbol panel opens with the Windows key plus period. It searches by name and covers emoji, symbols and kaomoji without any code at all.
- Alt + decimal on the numeric keypad, anywhere in Windows
- Hexadecimal then Alt+X, inside Microsoft Word
- Windows key + . for the searchable emoji and symbol panel
03
macOS: Unicode Hex Input and the Character Viewer
macOS has no alt code system, but it has something more precise. Add the Unicode Hex Input source under Keyboard settings, switch to it, then hold Option and type the four-digit hexadecimal code point. Option followed by 2665 gives the heart suit. Remember to switch back to your normal input source afterwards, since the Hex Input layout changes what Option does to ordinary keys.
The Character Viewer is the everyday alternative. Press Control-Command-Space to open it, search by name, and double-click to insert. It also shows related characters and font variations, which makes it useful for finding a character whose name you only half remember.
04
Linux, iPhone, Android and the web
Most Linux desktops accept Ctrl+Shift+U, then the hexadecimal code point, then Enter or Space. Behaviour differs slightly between GNOME, KDE and the input method in use, so it is worth testing once on your own system.
iOS and Android have no code-entry method at all. The emoji keyboard covers emoji, and a few symbols are reachable by holding a related key — holding the hyphen offers dashes, holding the currency key offers other currency signs. For anything outside that, pasting is the only route, which is precisely why a copy button matters more on mobile than on desktop.
On the web, paste the character straight into UTF-8 markup, or use a numeric reference such as ♥ in HTML. CSS takes the hexadecimal as a backslash escape inside a content value, and JavaScript takes it as a unicode escape, with braces required above U+FFFF.
- Linux: Ctrl+Shift+U, hexadecimal, then Enter
- iOS and Android: emoji keyboard or paste — no code entry exists
- HTML: paste directly, or use a numeric character reference
05
Where keyboard entry stops working
Two limits catch people out. Alt codes only reach code points below U+10000, which excludes most modern emoji and the mathematical alphabets that fancy-text styles are built from. And no keyboard method reproduces a multi-code-point sequence: a flag, a skin-toned gesture or a joined family emoji has to be copied whole.
That is not a failure of the method so much as a boundary of it. Keyboard entry suits the older, single-code-point characters that appear in documents and interfaces. Copying suits everything else, and it is the only route on a phone.
✦If a character is above U+FFFF or made of more than one code point, stop looking for a shortcut and copy it. No platform offers a keyboard method that covers those cases.
06
Choosing a method you will actually remember
Most people need one method, not five. If you write in Word, learn Alt+X and nothing else — it needs no keypad, works for every character below U+10000, and doubles as a way to inspect what a character is. If you work across applications on Windows, the emoji panel on Windows key plus period is easier to remember than any numeric code.
On a Mac, the Character Viewer is the pragmatic default, with Unicode Hex Input reserved for characters you type often enough to memorise. And for anything you use daily, the fastest method on any platform is a text replacement or snippet: map a short trigger to the character once, and the code becomes irrelevant.
The same character across every input method
One character, five ways to produce it. Each row converts the same code point into the form that platform expects; the values are derived from the code point itself rather than looked up in a table.
| Character | Code point | Windows alt code | Word / macOS / Linux hex | HTML reference |
|---|---|---|---|---|
| ♥ heart suit | U+2665 | Alt 9829 | 2665 | ♥ |
| ★ black star | U+2605 | Alt 9733 | 2605 | ★ |
| ✓ check mark | U+2713 | Alt 10003 | 2713 | ✓ |
| → rightwards arrow | U+2192 | Alt 8594 | 2192 | → |
| ° degree sign | U+00B0 | Alt 0176 | 00B0 | ° |
The degree sign is the exception worth knowing: its legacy alt code is entered as 0176 with a leading zero, which selects the Windows ANSI code page rather than the code point. Both routes produce the same character.
07
Copy the symbols discussed in this guide
This guide explains the topic. Use technical symbols for the main copyable set, compare it with punctuation symbols, and browse currency symbols for another useful angle. Each collection includes searchable Unicode names and HTML references.
Technical Symbols
301 copyable entries
! ? ‼Punctuation Symbols
235 copyable entries
$ ¢ £Currency Symbols
61 copyable entries
More collections covered by this guide
The same ideas also help when you browse bracket symbols, comparison symbols, and quotation mark symbols. Open any collection to compare exact Unicode names, code points, and copy-ready forms.
08
Questions, answered
What is an alt code?+
The decimal form of a Unicode code point, typed on a Windows numeric keypad while Alt is held. Alt followed by 9829 produces the heart suit, whose code point is U+2665.
Why does my alt code do nothing?+
Almost always because the digits were typed on the number row rather than the numeric keypad, or because the code point is above U+FFFF, which alt codes cannot reach.
How do I type a symbol on a phone?+
There is no code-entry method on iOS or Android. Use the emoji keyboard for emoji, hold a related key for variants such as dashes and currency signs, and paste for anything else.
Is there an alt code for every symbol?+
No. Alt codes stop at U+FFFF, and no keyboard method at all reproduces a multi-code-point sequence such as a flag or a joined emoji.
09
Sources and review notes
Reviewed against Unicode terminology for characters, code points, glyphs, sequences and presentation behavior.
