Short answer: None of these have a working Alt code. On Windows, type the hex code and press Alt + X (Word and Outlook). Everywhere else, copy the symbol below — that’s genuinely the fastest route.
Tap to copy
Looking for a different symbol? The Alt Code Finder shows the Windows, Mac and HTML method for any character at once.
The full set
| Symbol | Unicode name | Currency | Unicode | HTML | Windows |
|---|---|---|---|---|---|
₽ | Ruble sign | Russian ruble | U+20BD | ₽ | 20BD + Alt + X |
₺ | Turkish lira sign | Turkish lira | U+20BA | ₺ | 20BA + Alt + X |
₪ | New sheqel sign | Israeli shekel | U+20AA | ₪ | 20AA + Alt + X |
₦ | Naira sign | Nigerian naira | U+20A6 | ₦ | 20A6 + Alt + X |
₫ | Dong sign | Vietnamese dong | U+20AB | ₫ | 20AB + Alt + X |
฿ | Thai currency symbol baht | Thai baht | U+0E3F | ฿ | 0E3F + Alt + X |
₴ | Hryvnia sign | Ukrainian hryvnia | U+20B4 | ₴ | 20B4 + Alt + X |
₸ | Tenge sign | Kazakhstani tenge | U+20B8 | ₸ | 20B8 + Alt + X |
₾ | Lari sign | Georgian lari | U+20BE | ₾ | 20BE + Alt + X |
₼ | Manat sign | Azerbaijani manat | U+20BC | ₼ | 20BC + Alt + X |
₡ | Colon sign | Costa Rican colón | U+20A1 | ₡ | 20A1 + Alt + X |
¤ | Currency sign | Generic placeholder | U+00A4 | ¤ | Alt + 0164 ✅ |
Already covered elsewhere: ₹ rupee, ₩ won, ₱ peso, € euro, $ dollar.
Why there's no Alt code for any of these
Windows Alt codes are a legacy system with a hard ceiling. Codes typed without a leading zero read from CP437; codes with a leading zero read from Windows-1252. Both are 8-bit code pages, so both stop at 255.
Every symbol in the table above except ¤ sits far above that. The ruble is decimal 8381. The naira is 8358. There is no Alt + 8381.
You will see plenty of sites publishing exactly that — "hold Alt and type 8381 on the numeric keypad." That instruction is wrong in most places you'd use it. Decimal input above 255 isn't part of the Windows Alt-code mechanism at all; where it appears to work, it's an application implementing its own Unicode input, most commonly Microsoft Word. Paste Alt + 8381 into a browser field, a rename box or Notepad and you'll get nothing useful.
¤ is the exception that proves the rule: at decimal 164 it fits inside Windows-1252, so Alt + 0164 genuinely works. More on the Alt code ceiling in why Alt codes don't work.

Windows
- Hex + Alt + X (Word, Outlook): type the code from the table —
20BD— then press Alt + X. The code flips into the symbol. Works for every character here. - Emoji and symbol panel (anywhere): press Win + . or Win + ;, open the symbols section, and browse the currency group. This is the reliable option outside Office.
- Character Map: search by the Unicode name from the table, then copy.
Mac
There is no Option shortcut for any of these on the US layout — don't trust a site that gives you one.
- Character Viewer: Ctrl + Cmd + Space, then search the Unicode name ("naira", "hryvnia", "baht"). Fastest general method.
- Unicode Hex Input: enable it in System Settings → Keyboard → Input Sources, then hold Option and type the four hex digits. All twelve symbols are in the Basic Multilingual Plane, so Hex Input handles every one of them.
Linux
Press Ctrl + Shift + U, type the hex code in lowercase (20bd), then press Enter or Space. Works across GTK applications. See typing symbols on Linux for the Compose key alternative.
iPhone and Android
Both hide these behind the currency key rather than a symbol menu:
- Switch to the numeric keyboard (123 on iOS, ?123 on Android).
- Press and hold the currency key —
$on a US keyboard. - A picker appears with the common signs.
₽ ₺ ₪ ₫ ฿appear on most modern keyboards; rarer ones like₾and₼usually don't.
If the symbol you need isn't in the picker, add the relevant language keyboard in settings, or copy it from this page.
Native keyboard layouts
If you type a currency daily, the language layout is worth the setup. Two are documented properly by their vendors:
| Currency | Layout | Shortcut |
|---|---|---|
₽ Ruble | Russian layouts on Windows | AltGr + 8 |
₺ Turkish lira | Turkish-Q and Turkish-F on Windows | AltGr + T |
Microsoft added ruble support to the six Russian keyboard layouts through a font and locale update for Windows 8, 8.1, RT and Server 2012 — so on anything modern it's built in. It is layout-dependent, though, not a universal Windows shortcut: AltGr + 8 does nothing on a US layout.
The Turkish lira has a neat piece of history behind it. The Central Bank of Turkey ran a national design contest in 2011, and the winning symbol needed encoding fast enough that the Unicode Consortium scheduled an entire release around it. Unicode 6.2 shipped in September 2012 with exactly one new character: ₺.
In HTML, CSS and code
Use the numeric entity or the raw character in UTF-8 — none of these have named HTML entities.
html
<!-- Numeric entity -->
<p>₽1,500</p>
<!-- Hex entity -->
<p>₽1,500</p>
css
/* Escape sequence — hex, no U+ prefix */
.price::before { content: "\20BD"; }
js
// Don't hardcode the symbol — let the runtime place it
new Intl.NumberFormat('ru-RU', {
style: 'currency', currency: 'RUB'
}).format(1500); // "1 500,00 ₽"
Intl.NumberFormat is the right answer for anything user-facing. It handles symbol choice, placement, spacing and digit grouping per locale — and placement genuinely varies, with the ruble trailing the number while the naira leads it.
Save files as UTF-8. Every one of these characters is above the ASCII range, so an ANSI-encoded file will mangle them.
When the symbol shows as a box
The newest signs in this set are the ones that break. ₽ arrived in Unicode 7.0 in 2014 and ₺ in 2012, which means any font or system predating those releases has no glyph for them. You get tofu — an empty box.
Fixes, in order:
- Switch font. Segoe UI, Arial, Noto Sans and DejaVu Sans all cover the modern currency block.
- Update the OS. Microsoft's ruble update added the glyph to Arial, Times New Roman, Calibri, Cambria, Tahoma, Segoe UI and Microsoft Sans Serif.
- Fall back to the ISO code.
RUB 1,500always renders.
For print and PDF, embed the font. A symbol that looks fine on screen can still drop out of an exported PDF if the glyph wasn't embedded.
The generic currency sign ¤
¤ (U+00A4) isn't any country's currency. It's a placeholder — the character standards bodies use to mean "a currency symbol goes here."
You'll meet it two ways. Software with a locale it can't resolve renders ¤ where a real symbol should be, which is a bug signal, not a design choice. And on French, Nordic and several other European layouts it sits on AltGr + 4 or similar, so it gets typed by accident and quietly ends up in documents.
If you see ¤ in output, the fix is almost always the locale configuration, not the character.
Accessibility
Screen readers announce these by Unicode name, and the names aren't always what you'd expect. ₪ reads as "new sheqel sign." ฿ reads as "Thai currency symbol baht." ¤ reads as "currency sign," which tells a listener nothing.
In body text, write the currency name or ISO code on first use and let the symbol follow. In tables, put the ISO code in a column header rather than relying on the glyph alone. More in how screen readers pronounce symbols.
One myth worth killing: ₪ is not a right-to-left character. Like every symbol here it carries the bidi class European Terminator. It appears inside right-to-left Hebrew text, and the surrounding text controls the direction — the symbol itself doesn't.
Troubleshooting
| Problem | Cause | Fix |
|---|---|---|
Alt + 8381 does nothing | Decimal Alt codes stop at 255 | Use 20BD + Alt + X, or copy from above |
| Alt + X does nothing | You're not in Word or Outlook | Use Win + . in other apps |
| Symbol shows as an empty box | Font predates the character | Switch to Segoe UI, Arial or Noto Sans |
Symbol vanishes in a saved .txt | File saved as ANSI | Re-save as UTF-8 |
AltGr + 8 gives * | US layout active, not Russian | Switch layout with Win + Space |
| Symbol on the wrong side of the number | Placement is locale-specific | Use Intl.NumberFormat, don't hardcode |
¤ appears instead of a real symbol | Locale not resolved | Fix the locale, not the character |
| Symbol renders on screen, missing in PDF | Font not embedded on export | Embed fonts in the export settings |
Recap
- No Alt codes for any of these except
¤(Alt + 0164). - Windows: hex + Alt + X in Office, Win + . everywhere else.
- Mac: Character Viewer, or Unicode Hex Input — all twelve are BMP.
- Linux: Ctrl + Shift + U, then the hex code.
- In code: UTF-8, numeric entities, and
Intl.NumberFormatfor anything user-facing.
Frequently asked questions
What is the Alt code for the ruble symbol?
There isn't one. Windows Alt codes only cover characters up to decimal 255, and the ruble sign is 8381. Sites listing Alt + 8381 are wrong for most applications. Type 20BD then press Alt + X in Word or Outlook, or use the Win + . symbol panel anywhere else.
How do I type the Turkish lira symbol ₺?
On a Turkish-Q or Turkish-F keyboard layout in Windows, press AltGr + T. On any other layout, type 20BA then press Alt + X in Word or Outlook. On Mac, open the Character Viewer with Ctrl + Cmd + Space and search for "lira".
Why does my currency symbol show as an empty box?
The font has no glyph for that character. The ruble and Turkish lira signs were added to Unicode in 2014 and 2012, so older fonts and systems don't include them. Switch to Segoe UI, Arial, Noto Sans or DejaVu Sans, or fall back to the ISO code such as RUB.
What does the ¤ symbol mean?
It's the generic currency sign, U+00A4 — a placeholder meaning "a currency symbol belongs here." It isn't any country's currency. When software displays it, the locale usually failed to resolve to a real currency symbol.
Is the shekel symbol ₪ a right-to-left character?
No. It carries the bidirectional class European Terminator, the same as every other currency symbol. It appears within right-to-left Hebrew text, but the surrounding text sets the direction, not the symbol.
Should the currency symbol go before or after the number?
It depends on the locale. The Russian ruble follows the amount, while the Nigerian naira precedes it. Rather than hardcoding placement, use Intl.NumberFormat in JavaScript or your platform's locale formatter, which handles symbol, position, spacing and digit grouping together.
Written by Igor R. Tested on Windows 11, macOS, iOS, Android, ChromeOS and Linux. Last updated September 2026. Symbol code points follow the Unicode Standard.