FreeToGenerate.com

Symbols come from Unicode, not from ISO 4217 — which defines no symbols at all.

Click any code or symbol to copy it

Shown 178 / 178

CurrencyCodeNumericSymbolUnambiguous formDecimals
United Arab Emirates Dirham784no symbol2
Afghan Afghani971AFN2 / 0
Albanian Lek008no symbol2 / 0
Armenian Dram051AMD2
Angolan Kwanza973AOA2
Argentine Peso032ARS2
Australian Dollar036A$2
Aruban Florin533no symbol2
Azerbaijani Manat944AZN2
Bosnia-Herzegovina Convertible Mark977BAM2
Barbadian Dollar052BBD2
Bangladeshi Taka050BDT2
Bahraini Dinar048no symbol3
Burundian Franc108no symbol0
Bermudan Dollar060BMD2
Brunei Dollar096BND2
Bolivian Boliviano068BOB2
Bolivian Mvdol984no symbol2
Brazilian Real9862
Bahamian Dollar044BSD2
Bhutanese Ngultrum064no symbol2
Botswanan Pula072BWP2
Belarusian Ruble933no symbol2
Belize Dollar084BZD2
Canadian Dollar124CA$2
Congolese Franc976no symbol2
WIR Euro947no symbol2
Swiss Franc756no symbol2
WIR Franc948no symbol2
Chilean Unit of Account (UF)990no symbol4
Chilean Peso152CLP0
Chinese Yuan156CN¥2
Colombian Peso170COP2 / 0
Colombian Real Value Unit970no symbol2
Costa Rican Colón188CRC2
Cuban Peso192CUP2
Cape Verdean Escudo132no symbol2
Czech Koruna203CZK2
Djiboutian Franc262no symbol0
Danish Krone208DKK2
Dominican Peso214DOP2
Algerian Dinar012no symbol2
Egyptian Pound818EGP2
Eritrean Nakfa232no symbol2
Ethiopian Birr230no symbol2
Euro9782
Fijian Dollar242FJD2
Falkland Islands Pound238FKP2
British Pound8262
Georgian Lari981GEL2
Ghanaian Cedi936GHS2
Gibraltar Pound292GIP2
Gambian Dalasi270no symbol2
Guinean Franc324GNF0
Guatemalan Quetzal320GTQ2
Guyanaese Dollar328GYD2
Hong Kong Dollar344HK$2
Honduran Lempira340HNL2
Haitian Gourde332no symbol2
Hungarian Forint348HUF2 / 0
Indonesian Rupiah360IDR2 / 0
Israeli New Shekel3762
Indian Rupee3562
Iraqi Dinar368no symbol3 / 0
Iranian Rial364no symbol2 / 0
Icelandic Króna352ISK0
Jamaican Dollar388JMD2
Jordanian Dinar400no symbol3
Japanese Yen3920
Kenyan Shilling404no symbol2
Kyrgyz Som417KGS2
Cambodian Riel116KHR2
Comorian Franc174KMF0
North Korean Won408KPW2 / 0
South Korean Won4100
Kuwaiti Dinar414no symbol3
Cayman Islands Dollar136KYD2
Kazakhstani Tenge398KZT2
Laotian Kip418LAK2 / 0
Lebanese Pound422LBP2 / 0
Sri Lankan Rupee144LKR2
Liberian Dollar430LRD2
Lesotho Loti426no symbol2
Libyan Dinar434no symbol3
Moroccan Dirham504no symbol2
Moldovan Leu498no symbol2
Malagasy Ariary969MGA2 / 0
Macedonian Denar807no symbol2
Myanmar Kyat104MMK2 / 0
Mongolian Tugrik496MNT2
Macanese Pataca446no symbol2
Mauritanian Ouguiya929no symbol2
Mauritian Rupee480MUR2
Maldivian Rufiyaa462no symbol2
Malawian Kwacha454no symbol2
Mexican Peso484MX$2
Mexican Investment Unit979no symbol2
Malaysian Ringgit458MYR2
Mozambican Metical943no symbol2
Namibian Dollar516NAD2
Nigerian Naira566NGN2
Nicaraguan Córdoba558NIO2
Norwegian Krone578NOK2
Nepalese Rupee524NPR2
New Zealand Dollar554NZ$2
Omani Rial512no symbol3
Panamanian Balboa590no symbol2
Peruvian Sol604no symbol2
Papua New Guinean Kina598no symbol2
Philippine Peso6082
Pakistani Rupee586PKR2 / 0
Polish Zloty985PLN2
Paraguayan Guarani600PYG0
Qatari Riyal634no symbol2
Romanian Leu946RON2
Serbian Dinar941no symbol2
Russian Ruble643RUB2
Rwandan Franc646RWF0
Saudi Riyal682no symbol2
Solomon Islands Dollar090SBD2
Seychellois Rupee690no symbol2
Sudanese Pound938no symbol2
Swedish Krona752SEK2
Singapore Dollar702SGD2
St. Helena Pound654SHP2
Sierra Leonean Leone925no symbol2
Somali Shilling706no symbol2 / 0
Surinamese Dollar968SRD2
South Sudanese Pound728SSP2
São Tomé & Príncipe Dobra930STN2
Salvadoran Colón222no symbol2
Syrian Pound760SYP2 / 0
Swazi Lilangeni748no symbol2
Thai Baht764THB2
Tajikistani Somoni972no symbol2
Turkmenistani Manat934no symbol2
Tunisian Dinar788no symbol3
Tongan Paʻanga776TOP2
Turkish Lira949TRY2
Trinidad & Tobago Dollar780TTD2
New Taiwan Dollar901NT$2
Tanzanian Shilling834no symbol2
Ukrainian Hryvnia980UAH2
Ugandan Shilling800no symbol0
US Dollar8402
US Dollar (Next day)997no symbol2
Uruguayan Peso (Indexed Units)940no symbol0
Uruguayan Peso858UYU2
Uruguayan Nominal Wage Index Unit927no symbol4
Uzbekistani Som860no symbol2
Bolívar Soberano926no symbol2
Venezuelan Bolívar928no symbol2
Vietnamese Dong7040
Vanuatu Vatu548no symbol0
Samoan Tala882no symbol2
XAD396no symbol2
Central African CFA Franc9500
Silver961no symbol
Gold959no symbol
European Composite Unit955no symbol
European Monetary Unit956no symbol
European Unit of Account (XBC)957no symbol
European Unit of Account (XBD)958no symbol
East Caribbean Dollar951EC$2
Caribbean guilder5322
Special Drawing Rights960no symbol
West African CFA Franc9520
Palladium964no symbol
CFP Franc9530
Platinum962no symbol
Sucre994no symbol
Testing Currency Code963no symbol
ADB Unit of Account965no symbol
Unknown Currency999
Yemeni Rial886no symbol2 / 0
South African Rand710ZAR2
Zambian Kwacha967ZMW2
Zimbabwean Gold924no symbol2

What your own browser does

These are formatted by your browser, in whatever language it is set to — not by this page. That is the clearest demonstration that a currency symbol depends on the reader.

Reading your browser’s settings…

Symbols that stand for several currencies

These glyphs are not identifiers. In the locale selected above, each one is the short symbol for more than one currency, which is why the code exists.

  • $29

    ARS · AUD · BBD · BMD · BND · BSD · BZD · CAD · CLP · COP · CUP · DOP · FJD · GYD · HKD · JMD · KYD · LRD · MXN · NAD · NZD · SBD · SGD · SRD · TTD · TWD · USD · UYU · XCD

  • £6

    FKP · GBP · GIP · SHP · SSP · SYP

  • kr4

    DKK · ISK · NOK · SEK

  • Rs4

    LKR · MUR · NPR · PKR

  • ¥2

    CNY · JPY

  • 2

    KPW · KRW

Where ISO and Unicode disagree about the decimals

ISO 4217 records the subunit a currency legally has. Unicode CLDR records how many decimals people actually write. For these, inflation has made those different facts.

  • AFN Afghan AfghaniISO 2 · Unicode 0
  • ALL Albanian LekISO 2 · Unicode 0
  • COP Colombian PesoISO 2 · Unicode 0
  • HUF Hungarian ForintISO 2 · Unicode 0
  • IDR Indonesian RupiahISO 2 · Unicode 0
  • IQD Iraqi DinarISO 3 · Unicode 0
  • IRR Iranian RialISO 2 · Unicode 0
  • KPW North Korean WonISO 2 · Unicode 0
  • LAK Laotian KipISO 2 · Unicode 0
  • LBP Lebanese PoundISO 2 · Unicode 0
  • MGA Malagasy AriaryISO 2 · Unicode 0
  • MMK Myanmar KyatISO 2 · Unicode 0
  • PKR Pakistani RupeeISO 2 · Unicode 0
  • SOS Somali ShillingISO 2 · Unicode 0
  • SYP Syrian PoundISO 2 · Unicode 0
  • YER Yemeni RialISO 2 · Unicode 0

Currencies with no symbol

For these, the selected locale has no symbol at all and writes the three-letter code instead. There is nothing to look up.

78 / 178

  • AED
  • ALL
  • AWG
  • BHD
  • BIF
  • BOV
  • BTN
  • BYN
  • CDF
  • CHE
  • CHF
  • CHW
  • CLF
  • COU
  • CVE
  • DJF
  • DZD
  • ERN
  • ETB
  • GMD
  • HTG
  • IQD
  • IRR
  • JOD
  • KES
  • KWD
  • LSL
  • LYD
  • MAD
  • MDL
  • MKD
  • MOP
  • MRU
  • MVR
  • MWK
  • MXV
  • MZN
  • OMR
  • PAB
  • PEN
  • PGK
  • QAR
  • RSD
  • SAR
  • SCR
  • SDG
  • SLE
  • SOS
  • SVC
  • SZL
  • TJS
  • TMT
  • TND
  • TZS
  • UGX
  • USN
  • UYI
  • UYW
  • UZS
  • VED
  • VES
  • VUV
  • WST
  • XAD
  • XAG
  • XAU
  • XBA
  • XBB
  • XBC
  • XBD
  • XDR
  • XPD
  • XPT
  • XSU
  • XTS
  • XUA
  • YER
  • ZWG

Also available in: Español · Português · Français · العربية

Currency Symbols

All 178 currencies with their symbols, codes and decimal places, and an honest account of why the symbol is the least reliable part.

What are currency symbols?

A currency symbol is the mark written in front of an amount — $, €, £, ¥. Everyone knows what they are, and almost every table of them on the web is headed “ISO 4217”. That attribution is wrong in an interesting way: ISO 4217 does not define a single currency symbol.

The standard is maintained by SIX Financial Information on behalf of ISO, and its published list has exactly five fields per entry: country name, currency name, the three-letter alphabetic code, the three-digit numeric code, and the number of minor units. There is no symbol column. We check this in the generator rather than take it on trust, so if a future edition adds one, the build fails instead of the page quietly becoming wrong.

So where do symbols come from? Unicode CLDR — the same data your operating system and browser use to format money. That is a different kind of authority answering a different question. ISO says what a currency is called and how it divides; CLDR says how people in a particular place write it. This page carries both, side by side, which is the only honest way to present them.

The table covers all 178 currency codes in the current ISO list, including the ones people forget: gold is XAU, the IMF's special drawing right is XDR, and XXX is the code that formally means “no currency”.

How to use this page

  1. Search for a currency by anything you know. The box matches names, three-letter codes, numeric codes and symbols. Exact code matches rank first, which matters more than it sounds: searching “eur” would otherwise return the WIR Euro and four European units of account ahead of the euro itself.
  2. Change the locale to see the symbol move. The selector switches which reader the symbols are written for. Watch the Australian dollar as you do it: it is A$ to an American, a plain $ to an Australian, AU$ to a Canadian and “$ AU” in French. The same currency, six different renderings across thirteen locales.
  3. Click any code or symbol to copy it. Everything in the table is a copy button. Nothing is uploaded when you use it — the whole dataset is already in your browser.

The symbol depends on who is reading

This is the fact that breaks most currency tables. A symbol is not a property of a currency; it is a property of a currency and a reader together. Across only thirteen locales, 60 of the 178 currencies — about a third — are written more than one way.

The Australian dollar is the clearest case, with six distinct renderings: A$, $, AUD, AU$, $AU and “$ AU”. The US dollar has five, the Canadian dollar four. Even the euro is not universal: it is € in most places, but Australian English and Mexican Spanish both write it as the bare code EUR, because in those places it is a foreign currency that benefits from being spelled out.

CLDR actually publishes two symbols per currency for exactly this reason. There is a short form — the least a local reader needs, which for the Australian dollar in Australia is simply $ — and a disambiguated form that adds whatever prefix stops it being confused with someone else's dollar. Both columns are in the table above. The short one is what you want inside a price on a page where the currency is already obvious; the long one is what you want in a list where it is not.

One detail worth knowing if you ever compare symbols as strings: the yen is not the same character everywhere. Outside Japan it is U+00A5, the yen sign. In Japanese it is U+FFE5, the fullwidth yen sign — a different code point that looks nearly identical. A byte comparison of “the yen symbol” will fail across those two locales, and no amount of trimming will fix it.

Symbols collide, and often do not exist

In English, the short symbol $ stands for 29 different currencies. Not just the American and Australian and Canadian dollars, but the Argentine, Bahamian, Barbadian, Belize, Bermudian, Brunei, Chilean, Colombian, Cuban, Fijian, Guyanese, Hong Kong, Jamaican, Liberian, Mexican, Namibian, New Zealand, Singapore, Solomon Islands, Surinamese, Taiwanese, Trinidadian and Uruguayan ones, plus the East Caribbean and Cayman Islands dollars.

It is not the only one. The pound sign stands for six currencies, “kr” for the Danish, Icelandic, Norwegian and Swedish crowns, “Rs” for the Sri Lankan, Mauritian, Nepalese and Pakistani rupees, ¥ for both the Chinese yuan and the Japanese yen, and ₩ for both Korean wons. A symbol is therefore never safe as an identifier. The three-letter code always is, which is the whole reason ISO 4217 exists.

The other half of this is quieter: 78 of the 178 currencies have no symbol at all in English. CLDR simply writes the code, because no distinct mark is in common use. If you have ever built a dropdown that shows a symbol beside every currency, roughly forty per cent of your rows were showing the code and pretending it was a symbol. This page lists them explicitly rather than hiding the gap.

Not every currency has two decimal places

Two decimals is the default and it is far from universal. Of the 178 codes, ISO gives 139 two decimals, 17 none at all, seven three decimals, and two four decimals. The Japanese yen, Korean won and Icelandic króna have no subunit, so a yen amount with a decimal point is simply wrong. The Bahraini, Iraqi, Jordanian, Kuwaiti, Libyan, Omani and Tunisian dinars divide into a thousand, so a Kuwaiti price carries three decimals. The Chilean unidad de fomento and the Uruguayan nominal wage index carry four.

Anything storing money in a fixed two-decimal column is therefore wrong at both ends: it cannot represent a Kuwaiti dinar exactly, and it invites a half-yen that cannot exist. Storing minor units as an integer along with the code is the fix, and the minor-unit column is the number you need to do it.

There is a subtler complication, and this page shows it rather than choosing a side. ISO and Unicode disagree about the decimals for sixteen currencies. Every disagreement has the same shape — Unicode says zero where ISO says two or three — and one cause: the subunit legally exists but inflation has made it worthless, so nobody writes it. The Iraqi dinar is the sharpest case, legally divided into a thousand fils that no longer circulate. ISO is right about the law and Unicode is right about the practice, and which one you want depends on whether you are settling a contract or printing a price.

Honest limits

This is a snapshot of a list that moves. The ISO file it was built from carries its own publication date, and codes change when countries redenominate or join a currency union. Nothing is fetched at runtime, so a change after this page was built is not reflected here; the generator is in the repository and regenerating is one command.

The two sources also disagree about membership, not just decimals. Unicode's own list of currency codes has 162 entries where ISO's has 178. The 22 ISO codes it omits are mostly funds, precious metals and test codes — gold, silver, palladium, the European units of account, and XXX itself. Worth knowing: Unicode still accepts every one of those codes if you pass it explicitly, it just does not list them. A runtime's list of valid values and the set of values it accepts are different sets.

In the other direction, Unicode still carries six codes ISO has withdrawn, including the Croatian kuna and the Netherlands Antillean guilder, because software has to keep formatting historical amounts after a currency dies. Those are not in the table here, since this is the current standard, but if your code accepts them from CLDR that is why.

Finally, this page has no exchange rates and will not get them. A rate is a live external dependency that would have to be fetched, cached and paid for, and a stale rate is worse than no rate. Everything here is a fact that only changes when a standards body says so.

Why is it free?

Because it is a table and a search box. The dataset is in the page you have already loaded, everything runs in your browser, and nothing you type leaves it — there is no server involved in looking up a currency code.

So there is no account, no sign-up and nothing held back. The generator that builds this from the ISO 4217 published list and Unicode CLDR is in the repository beside the page, together with the 1,006-assertion test suite that checks the codes, the decimals, the symbol collisions and the locale variation — including the negative controls that stop those tests passing for the wrong reason.