UX Pickle

Guidelines for Currency Formatting (with ISO 4217 Table)

Reading Time - 3 min

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. 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

According to ISO 4217, the decimal separator for most currencies is a comma, and the thousands separator is a space. So, if you’re displaying a price in Euros, you would use a comma as the decimal separator and a space as the thousands separator:

Room price: EUR 90,00

However, there are some exceptions to this rule. The decimal separator for Japanese Yen is a full stop, and the decimal separator for Swiss Francs is an apostrophe. So, if you’re displaying a price in Japanese Yen, you would use a full stop as the decimal separator and a space as the thousands separator:

Room price: JPY 90.00

And if you’re displaying a price in Swiss Francs, you would use an apostrophe as the decimal separator and a space as the thousands separator:

Room price: CHF 90’00

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.

Why Bitcoin Needs an ISO-Certified Currency Code

World Currency Formats and ISO 4217 Information

Currency NameISO 4217 CodeISO 4217 CodeUnit NamesUnit NamesDisplay
Decimals
AlphaNumericMajorMinor
Afghanistan, AfghaniAFN971afghanipul2
Albania, LekALL8lekqindarka2
Algerian DinarDZD12dinarcentime2
Angola, KwanzaAOA973kwanzalwei2
Argentine PesoARS32pesocentavo2
Armenian DramAMD51dramluma2
Aruban GuilderAWG533guildercent2
Australian DollarAUD36dollarcent2
Azerbaijanian ManatAZN944manatqäpik2
Bahamian DollarBSD44dollarcent2
Bahraini DinarBHD48dinarfils3
Bangladesh, TakaBDT50takapaisa2
Barbados DollarBBD52dollarcent2
Belarussian RubleBYN974ruble0
Belarussian RubleBYR974ruble0
Belize DollarBZD84dollarcent2
Bermudian DollarBMD60dollarcent2
Bhutan, NgultrumBTN64ngultrumchetrum2
Bolivia, BolivianoBOB68bolivianocentavo2
Bosnia and Herzegovina, Convertible MarksBAM977markafenning2
Botswana, PulaBWP72pulathebe2
Brazilian RealBRL986realcentavo2
Brunei DollarBND96ringgitsen2
Bulgarian LevBGN975levastotinki2
Burundi FrancBIF108franccentime0
Cambodia, RielKHR116new rielsen2
Canadian DollarCAD124dollarcent2
Cape Verde EscudoCVE132escudocentavo
Cayman Islands DollarKYD136dollarcent2
CFP FrancXPF953franccentime0
Chilean PesoCLP152pesocentavo0
China Yuan RenminbiCNY156yuan renminbijiao2
Colombian PesoCOP170pesocentavo2
Comoro FrancKMF174franc0
Costa Rican ColonCRC188coloncentimo2
Croatian KunaHRK191kunalipa2
Cuban Convertible PesoCUCpesocentavo2
Cuban PesoCUP192pesocentavo2
Cyprus PoundCYP196poundcent2
Czech KorunaCZK203korunahaler2
Danish KroneDKK208kroneøre2
Djibouti FrancDJF262franccentime0
Dominican PesoDOP214pesocentavo2
East Caribbean DollarXCD951dollarcent2
Egyptian PoundEGP818poundpiaster2
El Salvador ColonSVC222coloncentavo2
Eritrea, NakfaERN232nakfacent2
Ethiopian BirrETB230birrcent2
EuroATS978eurocent2
EuroBEF978eurocent2
EuroDEM978eurocent2
EuroEEK978eurocent2
EuroESP978eurocent2
EuroEUR978eurocent2
EuroFIM978eurocent2
EuroFRF978eurocent2
EuroGRD978eurocent2
EuroIEP978eurocent2
EuroITL978eurocent2
EuroLUF978eurocent2
EuroNLG978eurocent2
EuroPTE978eurocent2
Falkland Islands PoundFKP238poundpence2
Fiji DollarFJD242dollarcent2
Franc CongolaisCDF976franccentime2
Franc de la Communaute financiXAF
Gambia, DalasiGMD270dalasibutut2
Georgia, LariGEL981laritetri2
Ghana CediGHS936cedi2
Ghana, CediGHC288new cedipsewa2
Gibraltar PoundGIP292poundpence2
Guatemala, QuetzalGTQ320quetzalcentavo2
Guinea-Bissau, PesoGWP598Pesotoea2
Guyana DollarGYD328dollarcent2
Haiti, GourdeHTG332gourdecentime2
Honduras, LempiraHNL340lempiracentavo2
Hong Kong DollarHKD344dollarcent2
Hungary, ForintHUF348forint0
Iceland KronaISK352krónaaurar0
Indian RupeeINR356rupeepaise2
Indonesia, RupiahIDR360rupiahsen2
Iranian RialIRR364rialrials2
Iraqi DinarIQD368dinarfil3
Jamaican DollarJMD388dollarcent2
Japan, YenJPY392yensen0
Jordanian DinarJOD400dinarfil3
Kazakhstan, TengeKZT398tengetiyn2
Kenyan ShillingKES404shillingcent2
Kuwaiti DinarKWD414dinarfil3
Kyrgyzstan, SomKGS417somtyyn2
Laos, KipLAK418new kipat2
Latvian LatsLVL428latsantim2
Lebanese PoundLBP422pound (livre)piastre2
Lesotho, LotiLSL426loti, pl., malotilisente2
Liberian DollarLRD430dollarcent2
Libyan DinarLYD434dinardirham3
Lithuanian LitasLTL440litascentu2
Macao, PatacaMOP446patacaavo2
Macedonia, DenarMKD807denardeni2
Malagasy AriaryMGA969ariary0
Malawi, KwachaMWK454kwachatambala2
Malaysian RinggitMYR458ringgitsen2
Maldives, RufiyaaMVR462rufiyaalari2
Maltese LiraMTL470lira, pl., liricent2
Mauritania, OuguiyaMRO478ouguiya (5 khoums)khoum2
Mauritius RupeeMUR480rupeecent2
Mexican PesoMXN484pesocentavo2
Moldovan LeuMDL498leu, pl., lei2
Mongolia, TugrikMNT496tugrikmongo2
Moroccan DirhamMAD504dirhamcentime2
Mozambique MeticalMZM508meticalcentavo2
Mozambique MeticalMZN943metical0
Myanmar, KyatMMK104kyatpya2
Namibian DollarNAD516dollarcent2
Nepalese RupeeNPR524rupeepaise2
Netherlands Antillian GuilderANG532guildercent2
New Israeli ShekelILS376new shekelagorot2
New Taiwan DollarTWD901new dollar2
New Turkish LiraTRY949lirakurus2
New Zealand DollarNZD554dollarcent2
Nicaragua, Cordoba OroNIO558gold cordobacentavo2
Nigeria, NairaNGN566nairakobo2
North Korean WonKPW408wonchon2
Norwegian KroneNOK578kroneøre2
Pakistan RupeePKR586rupeepaisa2
Panama, BalboaPAB590balboacentesimo2
Papua New Guinea, KinaPGK598kinatoea2
Paraguay, GuaraniPYG600guaranicentimo0
Peru, Nuevo SolPEN604new solcentimo2
Peso UruguayoUYU858peso uruguayocenté2
Philippine PesoPHP608pesocentavo2
Poland, ZlotyPLN985zlotygrosz2
Pound SterlingGBP826poundpence2
Qatari RialQAR634riyaldirham2
Rial OmaniOMR512rialbaiza3
Romania, New LeuRON946leu (pl. lei)bani2
Romania, Old LeuROL642leu (pl. lei)bani2
Russian RubleRUB643rublekopeck2
Rwanda FrancRWF646franccentime0
S. African Rand Commerc.SAC
Saint Helena PoundSHP654poundnew pence2
Samoa, TalaWST882talasene2
Sao Tome and Principe, DobraSTN678dobracentimo2
Saudi RiyalSAR682riyalhalalat2
Serbian DinarRSD941dinar2
Seychelles RupeeSCR690rupeecent2
Sierra Leone, LeoneSLL694leonecent2
Singapore DollarSGD702dollarcent2
Slovak KorunaSKK703korunahaliere2
Slovenia, TolarSIT705tolarstotin2
Solomon Islands DollarSBD90dollarcent2
Somali ShillingSOS706shillingcentesimi2
South Africa, RandZAR710randcent2
South Korea, WonKRW410wonchon0
South Sudanese PoundSSP736pound2
Sri Lanka RupeeLKR144rupeecent2
Sudanese DinarSDD736dinar2
Surinam DollarSRD968dollarcent2
Swaziland, LilangeniSZL748emalangenicent2
Swedish KronaSEK752krona (pl. kronor)öre2
Swiss FrancCHF756frankenrappen2
Syrian PoundSYP760poundpiaster2
Tajikistan, SomoniTJS972somoni
Tanzanian ShillingTZS834shillingcent2
Thailand, BahtTHB764bahtsatang2
Tonga, PaangaTOP776pa’angaseniti2
Trinidad and Tobago DollarTTD780dollarcent2
Tunisian DinarTND788dinarmillime3
Turkmenistan ManatTMM795manattenga2
Turkmenistani New ManatTMT934manattenga2
UAE DirhamAED784dirhamfil2
Uganda ShillingUGX800shillingcent2
Ukraine, HryvniaUAH980Hryvniakopiyka2
Unidad de FomentoCLF990UF2
US DollarUSD840dollarcent2
Uzbekistan SumUZS860somtiyin2
Vanuatu, VatuVUV548vatucentime0
Venezuela Bolivares FuertesVES862bolivarcentimo2
Viet Nam, DongVND704new donghao,xu2
Yemeni RialYER886rialfil2
Zambia KwachaZMK894kwachangwee2
Zambia KwachaZMW894kwachangwee2
Zimbabwe DollarZWD716dollarcent2

Leave a Reply