Guidelines for Currency Formatting (with ISO 4217 Table)

Table of Contents
If you’re designing the UX for a web or mobile application that contains monetary data for different locales, you might have questions about the differences in currency formats. Mainly, when to use currency codes vs. currency symbols or where to use a space or comma etc.
In this article, we’ll provide guidelines for currency formatting based on the ISO 4217 standard so that your application can handle different currencies correctly.
Make sure you are consistent. You should not show the currency code for some currencies but not for others, just because they don’t have a unique symbol. You also can’t rely on all your users knowing the symbols. Normally, you will not use both the symbol and code e.g., €1.234.567,89 EUR.
ISO 4217 is the international standard for currency codes. We’ll share a table at the end of this article, checked against the ISO 4217 list maintained by SIX (September 2026 edition). It includes a three-letter alphabetic code for each currency. For example, USD is the code for US dollars, EUR is the code for Euros, and GBP is the code for British Pounds.
When to Use Currency Codes vs. Currency Symbols
Generally, you should use currency codes when displaying prices in multiple currencies side-by-side. This makes it easier for users to identify the currency for each price.
For example, if you’re displaying prices for a hotel room in both USD and EUR, you would use the currency codes to show that:
Room price: USD 100 / EUR 90
However, if you’re only displaying prices in a single currency, you can use the currency symbol. I have also seen a lot of graphics that use a symbol rather than the code. For example, if all prices on your site are in USD, you would use the dollar sign:
Room price: $100
Where to Use a Space or Comma
ISO 4217 only defines the codes and the number of minor-unit decimals. The decimal and thousands separators come from the user’s locale, not from the currency. The same EUR price is written 1.234,50 € in Germany, 1 234,50 € in France and €1,234.50 in Ireland, following the Unicode CLDR locale data that browsers and operating systems use.
Room price: EUR 90,00 (German or French locale)
Some currencies also differ in decimals. The Japanese Yen has no minor unit in ISO 4217, so you show whole numbers with a comma as the thousands separator:
Room price: JPY 9,000
Swiss Francs in a Swiss German locale use an apostrophe as the thousands separator and a full stop as the decimal separator:
Room price: CHF 1’234.50
In code, let the platform do this for you (for example, Intl.NumberFormat in JavaScript) instead of hard-coding separators per currency.
Conclusion
Following these guidelines for currency formatting will help ensure that your application can correctly handle different currencies from around the world. If you have any questions about implementing these guidelines, please feel free to leave a comment below.

World Currency Formats and ISO 4217 Information
| Currency Name | ISO 4217 Code | ISO 4217 Code | Unit Names | Unit Names | Display Decimals |
|---|---|---|---|---|---|
| Alpha | Numeric | Major | Minor | ||
| Afghanistan, Afghani | AFN | 971 | afghani | pul | 2 |
| Albania, Lek | ALL | 8 | lek | qindarka | 2 |
| Algerian Dinar | DZD | 12 | dinar | centime | 2 |
| Angola, Kwanza | AOA | 973 | kwanza | lwei | 2 |
| Argentine Peso | ARS | 32 | peso | centavo | 2 |
| Armenian Dram | AMD | 51 | dram | luma | 2 |
| Aruban Guilder | AWG | 533 | guilder | cent | 2 |
| Australian Dollar | AUD | 36 | dollar | cent | 2 |
| Azerbaijan Manat | AZN | 944 | manat | qäpik | 2 |
| Bahamian Dollar | BSD | 44 | dollar | cent | 2 |
| Bahraini Dinar | BHD | 48 | dinar | fils | 3 |
| Bangladesh, Taka | BDT | 50 | taka | paisa | 2 |
| Barbados Dollar | BBD | 52 | dollar | cent | 2 |
| Belarusian Ruble | BYN | 933 | ruble | kapeyka | 2 |
| Belize Dollar | BZD | 84 | dollar | cent | 2 |
| Bermudian Dollar | BMD | 60 | dollar | cent | 2 |
| Bhutan, Ngultrum | BTN | 64 | ngultrum | chetrum | 2 |
| Bolivia, Boliviano | BOB | 68 | boliviano | centavo | 2 |
| Bosnia and Herzegovina, Convertible Marks | BAM | 977 | marka | fenning | 2 |
| Botswana, Pula | BWP | 72 | pula | thebe | 2 |
| Brazilian Real | BRL | 986 | real | centavo | 2 |
| Brunei Dollar | BND | 96 | ringgit | sen | 2 |
| Burundi Franc | BIF | 108 | franc | centime | 0 |
| Cambodia, Riel | KHR | 116 | new riel | sen | 2 |
| Canadian Dollar | CAD | 124 | dollar | cent | 2 |
| Cabo Verde Escudo | CVE | 132 | escudo | centavo | 2 |
| Cayman Islands Dollar | KYD | 136 | dollar | cent | 2 |
| CFP Franc | XPF | 953 | franc | centime | 0 |
| Chilean Peso | CLP | 152 | peso | centavo | 0 |
| China Yuan Renminbi | CNY | 156 | yuan renminbi | jiao | 2 |
| Colombian Peso | COP | 170 | peso | centavo | 2 |
| Comoro Franc | KMF | 174 | franc | 0 | |
| Costa Rican Colon | CRC | 188 | colon | centimo | 2 |
| Cuban Peso | CUP | 192 | peso | centavo | 2 |
| Czech Koruna | CZK | 203 | koruna | haler | 2 |
| Danish Krone | DKK | 208 | krone | øre | 2 |
| Djibouti Franc | DJF | 262 | franc | centime | 0 |
| Dominican Peso | DOP | 214 | peso | centavo | 2 |
| East Caribbean Dollar | XCD | 951 | dollar | cent | 2 |
| Egyptian Pound | EGP | 818 | pound | piaster | 2 |
| El Salvador Colon | SVC | 222 | colon | centavo | 2 |
| Eritrea, Nakfa | ERN | 232 | nakfa | cent | 2 |
| Ethiopian Birr | ETB | 230 | birr | cent | 2 |
| Euro | EUR | 978 | euro | cent | 2 |
| Falkland Islands Pound | FKP | 238 | pound | pence | 2 |
| Fiji Dollar | FJD | 242 | dollar | cent | 2 |
| Franc Congolais | CDF | 976 | franc | centime | 2 |
| CFA Franc BEAC | XAF | 950 | franc | centime | 0 |
| Gambia, Dalasi | GMD | 270 | dalasi | butut | 2 |
| Georgia, Lari | GEL | 981 | lari | tetri | 2 |
| Ghana Cedi | GHS | 936 | cedi | 2 | |
| Gibraltar Pound | GIP | 292 | pound | pence | 2 |
| Guatemala, Quetzal | GTQ | 320 | quetzal | centavo | 2 |
| Guyana Dollar | GYD | 328 | dollar | cent | 2 |
| Haiti, Gourde | HTG | 332 | gourde | centime | 2 |
| Honduras, Lempira | HNL | 340 | lempira | centavo | 2 |
| Hong Kong Dollar | HKD | 344 | dollar | cent | 2 |
| Hungary, Forint | HUF | 348 | forint | 2 | |
| Iceland Krona | ISK | 352 | króna | aurar | 0 |
| Indian Rupee | INR | 356 | rupee | paise | 2 |
| Indonesia, Rupiah | IDR | 360 | rupiah | sen | 2 |
| Iranian Rial | IRR | 364 | rial | rials | 2 |
| Iraqi Dinar | IQD | 368 | dinar | fil | 3 |
| Jamaican Dollar | JMD | 388 | dollar | cent | 2 |
| Japan, Yen | JPY | 392 | yen | sen | 0 |
| Jordanian Dinar | JOD | 400 | dinar | fil | 3 |
| Kazakhstan, Tenge | KZT | 398 | tenge | tiyn | 2 |
| Kenyan Shilling | KES | 404 | shilling | cent | 2 |
| Kuwaiti Dinar | KWD | 414 | dinar | fil | 3 |
| Kyrgyzstan, Som | KGS | 417 | som | tyyn | 2 |
| Laos, Kip | LAK | 418 | new kip | at | 2 |
| Lebanese Pound | LBP | 422 | pound (livre) | piastre | 2 |
| Lesotho, Loti | LSL | 426 | loti, pl., maloti | lisente | 2 |
| Liberian Dollar | LRD | 430 | dollar | cent | 2 |
| Libyan Dinar | LYD | 434 | dinar | dirham | 3 |
| Macao, Pataca | MOP | 446 | pataca | avo | 2 |
| North Macedonia, Denar | MKD | 807 | denar | deni | 2 |
| Malagasy Ariary | MGA | 969 | ariary | 2 | |
| Malawi, Kwacha | MWK | 454 | kwacha | tambala | 2 |
| Malaysian Ringgit | MYR | 458 | ringgit | sen | 2 |
| Maldives, Rufiyaa | MVR | 462 | rufiyaa | lari | 2 |
| Mauritania, Ouguiya | MRU | 929 | ouguiya | khoums | 2 |
| Mauritius Rupee | MUR | 480 | rupee | cent | 2 |
| Mexican Peso | MXN | 484 | peso | centavo | 2 |
| Moldovan Leu | MDL | 498 | leu, pl., lei | 2 | |
| Mongolia, Tugrik | MNT | 496 | tugrik | mongo | 2 |
| Moroccan Dirham | MAD | 504 | dirham | centime | 2 |
| Mozambique Metical | MZN | 943 | metical | centavo | 2 |
| Myanmar, Kyat | MMK | 104 | kyat | pya | 2 |
| Namibian Dollar | NAD | 516 | dollar | cent | 2 |
| Nepalese Rupee | NPR | 524 | rupee | paise | 2 |
| Caribbean Guilder (Curaçao, Sint Maarten) | XCG | 532 | guilder | cent | 2 |
| New Israeli Shekel | ILS | 376 | new shekel | agorot | 2 |
| New Taiwan Dollar | TWD | 901 | new dollar | 2 | |
| Turkish Lira | TRY | 949 | lira | kurus | 2 |
| New Zealand Dollar | NZD | 554 | dollar | cent | 2 |
| Nicaragua, Cordoba Oro | NIO | 558 | gold cordoba | centavo | 2 |
| Nigeria, Naira | NGN | 566 | naira | kobo | 2 |
| North Korean Won | KPW | 408 | won | chon | 2 |
| Norwegian Krone | NOK | 578 | krone | øre | 2 |
| Pakistan Rupee | PKR | 586 | rupee | paisa | 2 |
| Panama, Balboa | PAB | 590 | balboa | centesimo | 2 |
| Papua New Guinea, Kina | PGK | 598 | kina | toea | 2 |
| Paraguay, Guarani | PYG | 600 | guarani | centimo | 0 |
| Peru, Sol | PEN | 604 | sol | centimo | 2 |
| Peso Uruguayo | UYU | 858 | peso uruguayo | centé | 2 |
| Philippine Peso | PHP | 608 | peso | centavo | 2 |
| Poland, Zloty | PLN | 985 | zloty | grosz | 2 |
| Pound Sterling | GBP | 826 | pound | pence | 2 |
| Qatari Rial | QAR | 634 | riyal | dirham | 2 |
| Rial Omani | OMR | 512 | rial | baiza | 3 |
| Romania, New Leu | RON | 946 | leu (pl. lei) | bani | 2 |
| Russian Ruble | RUB | 643 | ruble | kopeck | 2 |
| Rwanda Franc | RWF | 646 | franc | centime | 0 |
| Saint Helena Pound | SHP | 654 | pound | new pence | 2 |
| Samoa, Tala | WST | 882 | tala | sene | 2 |
| Sao Tome and Principe, Dobra | STN | 930 | dobra | centimo | 2 |
| Saudi Riyal | SAR | 682 | riyal | halalat | 2 |
| Serbian Dinar | RSD | 941 | dinar | 2 | |
| Seychelles Rupee | SCR | 690 | rupee | cent | 2 |
| Sierra Leone, Leone | SLE | 925 | leone | cent | 2 |
| Singapore Dollar | SGD | 702 | dollar | cent | 2 |
| Solomon Islands Dollar | SBD | 90 | dollar | cent | 2 |
| Somali Shilling | SOS | 706 | shilling | centesimi | 2 |
| South Africa, Rand | ZAR | 710 | rand | cent | 2 |
| South Korea, Won | KRW | 410 | won | chon | 0 |
| South Sudanese Pound | SSP | 728 | pound | 2 | |
| Sri Lanka Rupee | LKR | 144 | rupee | cent | 2 |
| Sudanese Pound | SDG | 938 | pound | piastre | 2 |
| Surinam Dollar | SRD | 968 | dollar | cent | 2 |
| Eswatini, Lilangeni | SZL | 748 | emalangeni | cent | 2 |
| Swedish Krona | SEK | 752 | krona (pl. kronor) | öre | 2 |
| Swiss Franc | CHF | 756 | franken | rappen | 2 |
| Syrian Pound | SYP | 760 | pound | piaster | 2 |
| Tajikistan, Somoni | TJS | 972 | somoni | 2 | |
| Tanzanian Shilling | TZS | 834 | shilling | cent | 2 |
| Thailand, Baht | THB | 764 | baht | satang | 2 |
| Tonga, Paanga | TOP | 776 | pa’anga | seniti | 2 |
| Trinidad and Tobago Dollar | TTD | 780 | dollar | cent | 2 |
| Tunisian Dinar | TND | 788 | dinar | millime | 3 |
| Turkmenistani New Manat | TMT | 934 | manat | tenga | 2 |
| UAE Dirham | AED | 784 | dirham | fil | 2 |
| Uganda Shilling | UGX | 800 | shilling | cent | 0 |
| Ukraine, Hryvnia | UAH | 980 | Hryvnia | kopiyka | 2 |
| Unidad de Fomento | CLF | 990 | UF | 4 | |
| US Dollar | USD | 840 | dollar | cent | 2 |
| Uzbekistan Sum | UZS | 860 | som | tiyin | 2 |
| Vanuatu, Vatu | VUV | 548 | vatu | centime | 0 |
| Venezuela, Bolívar Soberano | VES | 928 | bolivar | centimo | 2 |
| Venezuela, Bolívar Soberano (digital) | VED | 926 | bolivar | centimo | 2 |
| Viet Nam, Dong | VND | 704 | new dong | hao,xu | 0 |
| Yemeni Rial | YER | 886 | rial | fil | 2 |
| Zambia Kwacha | ZMW | 967 | kwacha | ngwee | 2 |
| Zimbabwe Gold | ZWG | 924 | zimbabwe gold | cent | 2 |


