€
Selected sign
Euro sign
Unicode
U+20AC
HTML
€
Decimal
€
CSS
\20AC
JavaScript
\u20AC
Added
Unicode 2.1 (1998)
Keyboard
Alt+0128 on English or Western European Windows, AltGr+4 on a U.K. keyboard, Option+Shift+2 on a U.S. Mac, Option+2 on a British Mac.
Usage
Used by the euro (EUR).
Recently used
Signs you copy show up here.

Common signs

17 signs

More signs in use today

17 signs

The Saudi riyal, rufiyaa, UAE dirham and Omani rial signs arrived in Unicode 17.0 and 18.0. If your fonts lack one, the grid shows its code point instead.

South Asian signs

12 signs

Historic signs

11 signs

These signs belong to retired currencies, or were meant for a currency but never came into wide use.

Fullwidth and small forms

6 signs

Unicode keeps these wide and small variants for compatibility with East Asian encodings. CLDR uses ¥ for yen prices in Japanese.

Chinese, Japanese and Korean

3 signs

Unicode classes these as letters, not currency signs, but they name the money in running text.

Other signs

4 signs

Currencies by country

155 currencies

This table lists the 155 currencies on the ISO 4217 list, leaving out fund codes, metals, test codes, units of account and the no-currency code XXX. Symbols come from CLDR 48.2 in the issuing country's main language, and the euro, which has no single issuing country, shows the English €.

155 currencies
155 ISO 4217 currencies with their CLDR 48.2 symbols
CodeCurrencySymbolAlso writtenDecimals (ISO)Used in
AEDUnited Arab Emirates DirhamNone2United Arab Emirates
AFNAfghan AfghaniNone2Afghanistan
ALLAlbanian LekNone2Albania
AMDArmenian Dram
2Armenia
AOAAngolan KwanzaNone2Angola
ARSArgentine PesoNone2Argentina
AUDAustralian Dollar
2Australia, Christmas Island, Cocos (Keeling) Islands, Heard & McDonald Islands, Kiribati, Nauru, Norfolk Island, Tuvalu
AWGAruban FlorinNone2Aruba
AZNAzerbaijani ManatNone2Azerbaijan
BAMBosnia-Herzegovina Convertible MarkNone2Bosnia & Herzegovina
BBDBarbadian DollarNone2Barbados
BDTBangladeshi TakaNone2Bangladesh
BHDBahraini DinarNone3Bahrain
BIFBurundian FrancNone0Burundi
BMDBermudan DollarNone2Bermuda
BNDBrunei DollarNone2Brunei
BOBBolivian BolivianoNone2Bolivia
BRLBrazilian RealNone2Brazil
BSDBahamian DollarNone2Bahamas
BTNBhutanese NgultrumNone2Bhutan
BWPBotswanan PulaNone2Botswana
BYNBelarusian RubleNone2Belarus
BZDBelize DollarNone2Belize
CADCanadian Dollar
2Canada
CDFCongolese FrancNone2Congo - Kinshasa
CHFSwiss FrancCHFNone2Liechtenstein, Switzerland
CLPChilean PesoNone0Chile
CNYChinese Yuan
2China
COPColombian PesoNone2Colombia
CRCCosta Rican ColónNone2Costa Rica
CUPCuban PesoNone2Cuba
CVECape Verdean Escudo1234$50No visible symbol. $ is the decimal mark.None2Cape Verde
CZKCzech KorunaNone2Czechia
DJFDjiboutian FrancNone0Djibouti
DKKDanish Krone
2Denmark, Faroe Islands, Greenland
DOPDominican Peso
2Dominican Republic
DZDAlgerian DinarNone2Algeria
EGPEgyptian Pound
2Egypt
ERNEritrean NakfaNone2Eritrea
ETBEthiopian BirrNone2Ethiopia
EUREuroNone2Åland Islands, Andorra, Austria, Belgium, Bulgaria, Croatia, Cyprus, Estonia, Finland, France, French Guiana, French Southern Territories, Germany, Greece, Guadeloupe, Ireland, Italy, Latvia, Lithuania, Luxembourg, Malta, Martinique, Mayotte, Monaco, Montenegro, Netherlands, Portugal, Réunion, San Marino, Slovakia, Slovenia, Spain, St. Barthélemy, St. Martin, St. Pierre & Miquelon, Vatican City
FJDFijian DollarNone2Fiji
FKPFalkland Islands PoundNone2Falkland Islands
GBPBritish PoundNone2Guernsey, Isle of Man, Jersey, United Kingdom
GELGeorgian LariNone2Georgia
GHSGhanaian CediNone2Ghana
GIPGibraltar PoundNone2Gibraltar
GMDGambian DalasiNone2Gambia
GNFGuinean FrancNone0Guinea
GTQGuatemalan QuetzalNone2Guatemala
GYDGuyanaese DollarNone2Guyana
HKDHong Kong Dollar
2Hong Kong SAR China
HNLHonduran LempiraNone2Honduras
HTGHaitian GourdeNone2Haiti
HUFHungarian ForintNone2Hungary
IDRIndonesian RupiahNone2Indonesia
ILSIsraeli New ShekelNone2Israel
INRIndian RupeeNone2Bhutan, India
IQDIraqi DinarNone3Iraq
IRRIranian RialNone2Iran
ISKIcelandic Króna
0Iceland
JMDJamaican DollarNone2Jamaica
JODJordanian DinarNone3Jordan
JPYJapanese Yen
0Japan
KESKenyan ShillingNone2Kenya
KGSKyrgyz Som
2Kyrgyzstan
KHRCambodian RielNone2Cambodia
KMFComorian FrancNone0Comoros
KPWNorth Korean WonKPW
2North Korea
KRWSouth Korean WonNone0South Korea
KWDKuwaiti DinarNone3Kuwait
KYDCayman Islands DollarNone2Cayman Islands
KZTKazakhstani TengeNone2Kazakhstan
LAKLaotian KipNone2Laos
LBPLebanese Pound
2Lebanon
LKRSri Lankan Rupee
2Sri Lanka
LRDLiberian DollarNone2Liberia
LSLLesotho LotiLSLNone2Lesotho
LYDLibyan DinarNone3Libya
MADMoroccan DirhamNone2Morocco, Western Sahara
MDLMoldovan LeuNone2Moldova
MGAMalagasy AriaryNone2Madagascar
MKDMacedonian DenarNone2North Macedonia
MMKMyanmar KyatNone2Myanmar (Burma)
MNTMongolian TugrikNone2Mongolia
MOPMacanese PatacaNone2Macao SAR China
MRUMauritanian OuguiyaNone2Mauritania
MURMauritian RupeeNone2Mauritius
MVRMaldivian RufiyaaNone2Maldives
MWKMalawian KwachaNone2Malawi
MXNMexican Peso
2Mexico
MYRMalaysian RinggitNone2Malaysia
MZNMozambican MeticalNone2Mozambique
NADNamibian DollarNone2Namibia
NGNNigerian NairaNone2Nigeria
NIONicaraguan CórdobaNone2Nicaragua
NOKNorwegian KroneNone2Bouvet Island, Norway, Svalbard & Jan Mayen
NPRNepalese Rupee
2Nepal
NZDNew Zealand Dollar
2Cook Islands, New Zealand, Niue, Pitcairn Islands, Tokelau
OMROmani RialNone3Oman
PABPanamanian BalboaNone2Panama
PENPeruvian SolNone2Peru
PGKPapua New Guinean KinaNone2Papua New Guinea
PHPPhilippine PesoNone2Philippines
PKRPakistani RupeeNone2Pakistan
PLNPolish ZlotyNone2Poland
PYGParaguayan GuaraniNone0Paraguay
QARQatari RiyalNone2Qatar
RONRomanian LeuRON
2Romania
RSDSerbian DinarRSDNone2Serbia
RUBRussian RubleNone2Russia
RWFRwandan FrancNone0Rwanda
SARSaudi Riyal
2Saudi Arabia
SBDSolomon Islands DollarNone2Solomon Islands
SCRSeychellois RupeeNone2Seychelles
SDGSudanese PoundNone2Sudan
SEKSwedish KronaNone2Sweden
SGDSingapore DollarNone2Singapore
SHPSt. Helena PoundNone2St. Helena
SLESierra Leonean LeoneNone2Sierra Leone
SOSSomali ShillingNone2Somalia
SRDSurinamese DollarNone2Suriname
SSPSouth Sudanese PoundNone2South Sudan
STNSão Tomé & Príncipe DobraNone2São Tomé & Príncipe
SVCSalvadoran ColónSVCNone2El Salvador
SYPSyrian Pound
2Syria
SZLSwazi LilangeniNone2Eswatini
THBThai BahtNone2Thailand
TJSTajikistani SomoniNone2Tajikistan
TMTTurkmenistani ManatTMTNone2Turkmenistan
TNDTunisian DinarNone3Tunisia
TOPTongan PaʻangaNone2Tonga
TRYTurkish Lira
2Türkiye
TTDTrinidad & Tobago DollarNone2Trinidad & Tobago
TWDNew Taiwan Dollar
2Taiwan
TZSTanzanian ShillingNone2Tanzania
UAHUkrainian Hryvnia
2Ukraine
UGXUgandan ShillingNone0Uganda
USDUS DollarNone2American Samoa, British Indian Ocean Territory, British Virgin Islands, Caribbean Netherlands, Ecuador, El Salvador, Guam, Haiti, Marshall Islands, Micronesia, Northern Mariana Islands, Palau, Panama, Puerto Rico, Timor-Leste, Turks & Caicos Islands, U.S. Outlying Islands, U.S. Virgin Islands, United States
UYUUruguayan PesoNone2Uruguay
UZSUzbekistani SomNone2Uzbekistan
VEDBolívar SoberanoVEDNone2Venezuela
VESVenezuelan BolívarNone2Venezuela
VNDVietnamese DongNone0Vietnam
VUVVanuatu VatuNone0Vanuatu
WSTSamoan TalaNone2Samoa
XAFCentral African CFA FrancNone0Cameroon, Central African Republic, Chad, Congo - Brazzaville, Equatorial Guinea, Gabon
XCDEast Caribbean Dollar
2Anguilla, Antigua & Barbuda, Dominica, Grenada, Montserrat, St. Kitts & Nevis, St. Lucia, St. Vincent & Grenadines
XCGCaribbean GuilderNone2Curaçao, Sint Maarten
XOFWest African CFA FrancNone0Benin, Burkina Faso, Côte d’Ivoire, Guinea-Bissau, Mali, Niger, Senegal, Togo
XPFCFP Franc
0French Polynesia, New Caledonia, Wallis & Futuna
YERYemeni RialNone2Yemen
ZARSouth African RandNone2Lesotho, Namibia, South Africa
ZMWZambian Kwacha
2Zambia
ZWGZimbabwean GoldZWGNone2Zimbabwe

Format a price

See where the sign goes and which spacing a locale uses, then copy the JavaScript or HTML.

Formatted price
1.234,50 €
€ goes after the number, separated by a no-break space (U+00A0). Thousands are grouped with periods, and the decimal mark is a comma. It shows 2 decimal places.
JavaScript
new Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR' }).format(1234.5)
HTML
1.234,50 €

About Currency Symbols and Their HTML Codes

What is a currency symbol?

A currency symbol is a sign or abbreviation for a unit of money, such as € for the euro.

Unicode 18.0 classifies 67 characters as currency signs, and 37 of them sit in its Currency Symbols block, U+20A0 to U+20CF. Many currencies have no sign of their own and are written with a code such as CHF or letters such as Rs.

On this page, a sign is one Unicode character. A symbol is the form the Unicode Common Locale Data Repository (CLDR) uses to write a currency, such as CA$ for the Canadian dollar.

  • Six named entities. Only six currency signs have entity names in HTML: $, ¢, £, ¤, ¥ and €.
  • Three new signs. Unicode 18.0, announced on September 16, 2026, added the rufiyaa sign U+20C2, the UAE dirham sign U+20C3 and the Omani rial sign U+20C4.
  • Shared signs. ¥ stands for both the Japanese yen and the Chinese yuan, and ₩ for both the South Korean and the North Korean won.
  • Codes as symbols. CLDR's English data uses the plain ISO 4217 code as the symbol for 133 of the 155 currencies in our table, such as CHF for the Swiss franc.

How do you write a currency symbol in HTML?

Type the sign itself on a page saved as UTF-8.

UTF-8 can store every Unicode character, so ₹, ₺ and ₿ need no escaping once the page declares <meta charset="utf-8">. If your editor or database might mangle a sign, write a character reference instead.

The Indian rupee sign ₹ has no named entity, so you write it as &#8377; in decimal or &#x20B9; in hex. Both turn into ₹ when the browser reads the page.

Input: sign
₹
Output: codes
HTML: &#8377; or &#x20B9;
CSS: content: "\20B9";
JavaScript: '\u20B9'

In CSS, put the escape \20B9 inside a quoted string, usually the content value of a ::before or ::after rule. In JavaScript, \u20B9 works in any string, and the \u{20B9} form needs ES2015 or later.

Our HTML entity encoder converts a whole block of text at once.

Which currency signs have HTML entity names?

Six currency signs have named character references in the HTML standard.

Currency signs with named HTML character references
SignNameEntityDecimalHex
$Dollar sign&dollar;&#36;&#x0024;
¢Cent sign&cent;&#162;&#x00A2;
£Pound sign&pound;&#163;&#x00A3;
¤Currency sign&curren;&#164;&#x00A4;
¥Yen sign&yen;&#165;&#x00A5;
€Euro sign&euro;&#8364;&#x20AC;

Every other currency sign, such as ₹, ₩ or ₿, has no entity name. To escape one, use a numeric reference such as &#8361; for ₩. Our HTML entities reference covers other special characters.

Browsers usually recognize &cent, &pound, &curren and &yen without the semicolon, but the HTML standard counts that as a parse error, so always write the semicolon.

How do you type the euro, pound and Indian rupee signs?

The shortcut for each sign depends on your keyboard layout.

U.S. and U.K. keyboards put $ on Shift+4. The euro, pound, yen and cent signs are typed with an Alt code on Windows or the Option key on a Mac, unless your layout puts the sign on a key, such as AltGr+4 for € on a U.K. keyboard.

On Windows, the English (India) layout types the Indian rupee sign with AltGr+4. The U.S. and British Mac layouts have no key for it, so you insert it from the Character Viewer.

Keyboard shortcuts for the euro, pound, yen, cent and Indian rupee signs
SignWindowsMac, U.S. layoutMac, British layout
€Alt+0128, or AltGr+4 on a U.K. keyboardOption+Shift+2Option+2
£Alt+0163, or Shift+3 on a U.K. keyboardOption+3Shift+3
¥Alt+0165Option+YOption+Y
¢Alt+0162Option+4Option+4
₹AltGr+4 on the English (India) layoutCharacter ViewerCharacter Viewer

Alt codes need the numeric keypad with Num Lock on. The four-digit codes come from Windows-1252, the code page behind English and Western European versions of Windows. The layout keys come from the Windows and Mac keyboard files in Unicode CLDR 43, the last CLDR release to include them.

In Word for Windows, type a sign's code point, such as 20B9, and press Alt+X to turn it into the sign. On a Mac, Control+Command+Space opens the Character Viewer, where you can search for a sign by name.

Does the currency symbol go before or after the price?

The symbol's position depends on the locale, not the currency.

A locale is a language plus a region. The table below shows the same 1,234.50 euros in six locales. Spanish in Spain leaves out the thousands separator in four-digit amounts.

1,234.50 euros formatted in six locales
Locale1,234.50 eurosWhere the symbol goes
English (United States) en-US€1,234.50Before, no space
Dutch (Netherlands) nl-NL€ 1.234,50Before, with a space
German (Germany) de-DE1.234,50 €After, with a space
French (France) fr-FR1 234,50 €After, with a space, narrow space between thousands
Spanish (Spain) es-ES1234,50 €After, with a space, no thousands separator
German (Switzerland) de-CHEUR 1'234.50Before, with a space, as the code EUR

JavaScript's Intl.NumberFormat applies each locale's rules when you pass style: 'currency' and a currency code such as 'EUR'. Our price formatter runs the same call for any currency and locale.

Decimal places vary too. ISO 4217 gives the yen and the South Korean won no decimal places, and the Kuwaiti, Bahraini and Jordanian dinars three.

The JavaScript internationalization standard, ECMA-402, lets each browser choose the default number of decimals for a currency. Chrome follows CLDR, which differs from ISO 4217 for 16 currencies. That is why Chrome formats the Iraqi dinar with no decimals by default, where ISO 4217 gives three.

Where does this data come from?

The signs come from Unicode, the currency codes from ISO 4217 and the symbols from Unicode CLDR.

The signs, names and code points are from Unicode 18.0. The currency list is ISO 4217 as published by SIX, its maintenance agency, on September 17, 2026, and the symbols are from Unicode CLDR 48.2.

The six example prices come from Intl.NumberFormat with CLDR 48 data. Our price formatter uses your browser's built-in locale data, which may be a different CLDR version, so its output can differ between browsers.

Which currency signs get mixed up?

Each pair below looks alike or shares a history.

  • Using ₨ for the Indian rupee. Unicode's notes describe using ₨ (U+20A8) in India as an unofficial legacy practice. The official sign is ₹ (U+20B9).
  • Using ¢ for the Ghanaian cedi. The cedi has its own sign, ₵ (U+20B5), and CLDR writes the cedi as GH₵ in Ghanaian English.
  • Using ₠ in place of €. ₠ (U+20A0) is the old euro-currency sign, meant for the European Currency Unit (ECU). Unicode notes that it is not the euro sign.

Frequently Asked Questions

How do you write the Indian rupee sign ₹ in HTML?

Write &#8377; or &#x20B9;, because ₹ has no named entity. On a page saved as UTF-8, you can also type ₹ directly.

What is the HTML entity for the euro sign?

The named entity is &euro;. The numeric references &#8364; and &#x20AC; produce the same € sign.

Which currency uses ¥?

Both the Japanese yen and the Chinese yuan use ¥, which Unicode also calls the yuan sign. CLDR's English data writes the yuan as CN¥ and the yen as ¥.

What is the newest currency sign in Unicode?

Unicode 18.0 added three in 2026, for the Maldivian rufiyaa, the UAE dirham and the Omani rial. They are U+20C2, U+20C3 and U+20C4, and devices without an updated font may show them as an empty box.

Why does a currency sign show up as a box?

A box usually means the device has no font that can draw that character. Copying still pastes the right character, which displays on any device with a font that includes it.

What does the ¤ sign mean?

Unicode's notes describe ¤ (U+00A4) as a sign for a generic or unknown currency.

Does $ have one stroke or two?

Both shapes are the same character, U+0024. Unicode says it may be drawn with one or two vertical bars, so the font decides which you see.