How to Type Any Unicode Character on Mac (Hex Input)
Somewhere below emoji pickers and Option combos sits the Mac's most precise typing tool: Unicode Hex Input, a built-in keyboard where holding Option and typing a four-digit code produces any character in Unicode's core set. If you know the code point, you can type the character — no menus, no search, no copy-paste from a website.
Add the Unicode Hex Input keyboard
- Open System Settings → Keyboard and click Edit… next to Input Sources.
- Click +, then scroll the language list to Others at the very bottom.
- Select Unicode Hex Input and click Add.
- While you're in this sheet, enable Show Input menu in menu bar so you can see which source is active.
The steps are identical on macOS 13 Ventura, 14 Sonoma, and 15 Sequoia. Nothing installs and nothing changes until you actively switch to the new source — your regular keyboard behaves exactly as before.
Type by code point
- Switch to Unicode Hex Input — click the input menu in the menu bar, or cycle with
Ctrl+Space. - Hold Option and type the character's four-digit hex code.
- Release. The character appears.
Try it: Option+2665 → ♥. Option+2713 → ✓. Option+00E9 → é (note the leading zeros — the code is always four digits). Option+03C0 → π. Any code you find in a Unicode chart, a font specimen, or a "what character is this?" site now types directly.
A starter set of useful codes
2192→ arrow, and2190/2191/2193for the other directions — endlessly useful in notes and docs2713✓ check,2717✗ cross,2022• bullet,2014— em dash00B0° degree,00D7× multiplication,2212− true minus,221E∞00A0— the invisible one: a non-breaking space, which keeps "10 GB" from splitting across lines and is otherwise nearly impossible to type deliberately2500-block box-drawing characters (─ │ ┌ ┐) for plain-text diagrams
Ten minutes with a Unicode chart and a scratch document turns the codes you care about into muscle memory — most people only ever need four or five.
Finding the code for a character
The Character Viewer doubles as your lookup table. Press Ctrl+Cmd+Space, search for the character by name ("heart", "check", "dagger"), click it, and the detail pane shows its code — ♥ displays U+2665. The four digits after "U+" are what you type. Going the other direction — you have a mystery character and want its identity — paste it into the Character Viewer search and the name and code appear.
Limits and trade-offs, honestly
- Four digits covers the Basic Multilingual Plane — tens of thousands of characters, including every symbol, arrow, box-drawing element, and world script in common use. Characters beyond it (most emoji) have five-digit codes like U+1F600; those require typing the character's UTF-16 surrogate pair instead (for 😀, Option+D83D then Option+DE00) — it works, but at that point the emoji picker is genuinely faster.
- While Hex Input is active, the Option layer is gone. Option+8 types by code, not a bullet, and dead-key accents don't fire. That's why you keep your regular layout in the list and treat Hex Input as a tool you switch into for a moment.
- The undo story is simple: switch back with
Ctrl+Space, and remove the source any time with − in the Input Sources sheet.
Who actually needs this: developers reproducing exact characters in test data, typographers and editors distinguishing lookalikes (hyphen U+2010 vs minus U+2212), linguists, and anyone who ever needs a character the pickers refuse to surface. It's a scalpel — rarely the first tool, irreplaceable when it's the right one.
Unicode Hex Input is wonderfully exact and wonderfully obscure — like most Mac depths. Mainspring charts the settings layer: 90+ hidden macOS tweaks as labelled, reversible toggles.
Try Mainspring free →Signed & notarized by Apple · 1-day free trial · $29 once