Unicode & Encoding Standards for Currency Symbols
Comprehensive developer reference for Unicode code points, HTML decimal & hex character entities, CSS pseudo-element escape codes, and Alt codes across global currency glyphs.
1. Dedicated Currency Symbols Block
Official Unicode standard block reserved specifically for international monetary signs.
| Symbol | Name & ISO | Unicode Point | HTML Entity | CSS Code | Alt Code | Copy |
|---|---|---|---|---|---|---|
| € | Euro (EUR) | U+20AC | € | \20AC | Alt + 0128 | |
| ₹ | Indian Rupee (INR) | U+20B9 | None (Numeric: ₹) | \20B9 | Word: 20B9, Alt+X / Win + . | |
| ₿ | Bitcoin (BTC) | U+20BF | None (Numeric: ₿) | \20BF | Word: 20BF, Alt+X / Win + . | |
| ₩ | South Korean Won (KRW) | U+20A9 | None (Numeric: ₩) | \20A9 | Word: 20A9, Alt+X / Win + . | |
| ₽ | Russian Ruble (RUB) | U+20BD | None (Numeric: ₽) | \20BD | Word: 20BD, Alt+X / Win + . | |
| ₺ | Turkish Lira (TRY) | U+20BA | None (Numeric: ₺) | \20BA | Word: 20BA, Alt+X / Win + . | |
| ₦ | Nigerian Naira (NGN) | U+20A6 | None (Numeric: ₦) | \20A6 | Word: 20A6, Alt+X / Win + . | |
| ₫ | Vietnamese Dong (VND) | U+20AB | None (Numeric: ₫) | \20AB | Word: 20AB, Alt+X / Win + . | |
| Rs | Pakistani Rupee (PKR) | U+20A8 (Generic ₨) | None (Numeric: ₨) | \20A8 | Word: 20A8, Alt+X / Win + . | |
| ₵ | Ghanaian Cedi (GHS) | U+20B5 | None (Numeric: ₵) | \20B5 | Word: 20B5, Alt+X / Win + . | |
| ₲ | Paraguayan Guaraní (PYG) | U+20B2 | None (Numeric: ₲) | \20B2 | Word: 20B2, Alt+X / Win + . | |
| ₣ | French Franc (FRF) | U+20A3 | None (Numeric: ₣) | \20A3 | Word: 20A3, Alt+X / Win + . | |
| ₱ | Philippine Peso (PHP) | U+20B1 | None (Numeric: ₱) | \20B1 | Word: 20B1, Alt+X / Win + . |
2. Basic Latin & Latin-1 Supplement Legacy Signs
Foundational ASCII and ISO 8859-1 monetary characters preserved in earliest Unicode blocks.
| Symbol | Currency Name | Unicode Point | HTML Named / Dec | CSS Escape | Alt Code | Action |
|---|---|---|---|---|---|---|
| $ | Dollar Sign (USD) | U+0024 | $ | \0024 | Alt + 36 | |
| £ | British Pound (GBP) | U+00A3 | £ | \00A3 | Alt + 0163 | |
| ¥ | Japanese Yen (JPY) | U+00A5 | ¥ | \00A5 | Alt + 0165 | |
| ¥ | Chinese Yuan (CNY) | U+00A5 | ¥ | \00A5 | Alt + 0165 | |
| R$ | Brazilian Real (BRL) | U+0024 (Prefix R) | None (Text: R$) | "R$ " | Type R + Alt+36 | |
| CHF | Swiss Franc (CHF) | None (Plain Latin letters) | None (Text: CHF) | "CHF " | Type CHF on keyboard | |
| $ | Mexican Peso (MXN) | U+0024 | $ | \0024 | Alt + 36 | |
| C$ | Canadian Dollar (CAD) | U+0024 (Prefix C) | None (Text: C$) | "C$ " | Type C + Alt+36 | |
| A$ | Australian Dollar (AUD) | U+0024 (Prefix A) | None (Text: A$) | "A$ " | Type A + Alt+36 | |
| NZ$ | New Zealand Dollar (NZD) | U+0024 (Prefix NZ) | None (Text: NZ$) | "NZ$ " | Type NZ + Alt+36 | |
| HK$ | Hong Kong Dollar (HKD) | U+0024 (Prefix HK) | None (Text: HK$) | "HK$ " | Type HK + Alt+36 | |
| S$ | Singapore Dollar (SGD) | U+0024 (Prefix S) | None (Text: S$) | "S$ " | Type S + Alt+36 | |
| kr | Swedish Krona (SEK) | None (Plain Latin letters) | None (Text: kr) | "kr " | Type kr on keyboard | |
| RM | Malaysian Ringgit (MYR) | None (Plain Latin letters) | None (Text: RM) | "RM " | Type RM on keyboard | |
| Ð | Dogecoin (DOGE) | U+00D0 | Ð | \00D0 | Alt + 0208 | |
| ¤ | Generic Currency Sign (None) | U+00A4 | ¤ | \00A4 | Alt + 0164 | |
| BD | Bahraini Dinar (BHD) | None (Plain Latin letters) | None (Text: BD) | "BD " | Type BD on keyboard | |
| E£ | Egyptian Pound (EGP) | U+00A3 (Prefix E) | None (Text: E£) | "E£ " | Type E + Alt+0163 | |
| L£ | Lebanese Pound (LBP) | U+00A3 (Prefix L) | None (Text: L£) | "L£ " | Type L + Alt+0163 | |
| LS | Syrian Pound (SYP) | None (Plain Latin letters) | None (Text: LS) | "LS " | Type LS on keyboard | |
| £ | Gibraltar Pound (GIP) | U+00A3 | £ | \00A3 | Alt + 0163 | |
| £ | Falkland Islands Pound (FKP) | U+00A3 | £ | \00A3 | Alt + 0163 | |
| £ | Saint Helena Pound (SHP) | U+00A3 | £ | \00A3 | Alt + 0163 | |
| SSP | South Sudanese Pound (SSP) | None (Plain Latin letters) | None (Text: SSP) | "SSP " | Type SSP on keyboard | |
| £ | Jersey Pound (JEP) | U+00A3 | £ | \00A3 | Alt + 0163 | |
| £ | Guernsey Pound (GGP) | U+00A3 | £ | \00A3 | Alt + 0163 | |
| £ | Isle of Man Pound (IMP) | U+00A3 | £ | \00A3 | Alt + 0163 | |
| Rs | Sri Lankan Rupee (LKR) | None (Multi-script abbreviation) | None (Text: Rs) | "Rs " | Type Rs on keyboard | |
| Rs | Mauritian Rupee (MUR) | None (Plain Latin letters) | None (Text: Rs) | "Rs " | Type Rs on keyboard | |
| SR | Seychellois Rupee (SCR) | None (Plain Latin letters) | None (Text: SR) | "SR " | Type SR on keyboard | |
| CFA | West African CFA Franc (XOF) | None (Plain Latin letters) | None (Text: CFA) | "CFA " | Type CFA on keyboard | |
| FCFA | Central African CFA Franc (XAF) | None (Plain Latin letters) | None (Text: FCFA) | "FCFA " | Type FCFA on keyboard | |
| $ | Colombian Peso (COP) | U+0024 | $ | \0024 | Alt + 36 | |
| $ | Chilean Peso (CLP) | U+0024 | $ | \0024 | Alt + 36 | |
| $ | Argentine Peso (ARS) | U+0024 | $ | \0024 | Alt + 36 | |
| $ | Uruguayan Peso (UYU) | U+0024 | $ | \0024 | Alt + 36 | |
| RD$ | Dominican Peso (DOP) | U+0024 (Prefix RD) | None (Text: RD$) | "RD$ " | Type RD + Alt+36 | |
| $ | Cuban Peso (CUP) | U+0024 | $ | \0024 | Alt + 36 |
Developer Implementation Guide (HTML, CSS & JavaScript)
HTML5 Character Reference
Render symbols cleanly with named entities or decimal codes:
<!-- Named Entity -->
<span>€ 100.00</span>
<!-- Hexadecimal Code -->
<span>₹ 5,000</span> CSS ::before Pseudo-Element
Prepend currency signs using escaped hexadecimal Unicode:
.price-tag::before {
content: "\\20AC"; /* Euro € */
margin-right: 4px;
} JavaScript Intl.NumberFormat
Localized monetary formatting with standard ISO codes:
new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD'
}).format(1250.5); // "$1,250.50" Troubleshooting Missing Glyphs & Tofu Boxes (□)
When currency glyphs appear as empty squares (known as "tofu"), it indicates the host operating system or browser font stack lacks the glyph. To ensure universal rendering:
- Always set
<meta charset="UTF-8">as the first tag inside your document<head>. - Specify robust system fallback fonts:
font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;. - For custom fonts, ensure full Unicode character subsets (Currency Symbols and Latin-1) are included in your web font bundle.
Unicode & Encoding Specifications FAQ
Common questions and direct answers regarding currency symbols, typing shortcuts, and international formatting.
Where are currency symbols located in the Unicode Standard?
Most specialized currency marks reside in the dedicated Currency Symbols block (U+20A0 to U+20CF). Legacy signs reside in Basic Latin ($ at U+0024) and Latin-1 Supplement (¢ at U+00A2, £ at U+00A3, ¤ at U+00A4, ¥ at U+00A5).
How do you escape currency symbols in CSS content properties?
In CSS ::before or ::after pseudo-elements, use a backslash followed by the 4-digit hexadecimal Unicode value (e.g. content: '\20AC' for Euro, content: '\0024' for Dollar).
Why do some currency symbols render as square boxes (Tofu □)?
Square boxes appear when the selected font does not contain the glyph. Ensure your font stack includes modern Unicode system fonts like Segoe UI, Roboto, Apple Color Emoji, or Inter with UTF-8 charset specified.