ISO 4217 Currency Code Lookup
A searchable reference of ISO 4217 currency codes, names, symbols and minor unit digits.
How this tool works
An ISO 4217 currency code is three letters, and the standard maintains the list of codes, the number of minor units each currency uses, and the dates on which codes were introduced and withdrawn. The minor unit field is the part that matters in software: it tells you how many decimal places a currency has, which is not a rounding convention but a property of the currency itself.
A currency with two minor units, like the dollar or the euro, has an implied decimal point at two places. A currency with zero minor units, like the yen or the won, does not, and a system that stores yen as 1000 rather than 1000.00 is not a rounding error but a different amount. Three minor units, as in the dinar and the fils, are rarer and are handled by fewer systems.
Minor units by currency
| Currency | Code | Minor units | Exponent |
|---|---|---|---|
| US dollar | USD | 2 | 10^-2 |
| Euro | EUR | 2 | 10^-2 |
| Japanese yen | JPY | 0 | 10^0 |
| Korean won | KRW | 0 | 10^0 |
| Bahraini dinar | BHD | 3 | 10^-3 |
| UAE dirham | AED | 2 | 10^-2 |
Most currencies use two minor units. The exceptions are the ones worth encoding correctly.
When to use it
- Format an amount for display in the right number of decimal places
- Store an amount as an integer of minor units and convert correctly
- Validate a currency code against the ISO list
- Handle a zero or three decimal currency without a rounding bug
Frequently asked questions
What is an ISO 4217 currency code?
A three letter code identifying a currency, maintained by ISO. The standard also records each currency's minor unit, the number of decimal places it uses.
Which currencies have no decimal places?
The Japanese yen, the Korean won, the Vietnamese dong, the Cambodian riel and a small number of others, all with zero minor units. Amounts in them are integers.
Are there currencies with three decimal places?
Yes: the Bahraini dinar, the Iraqi dinar, the Jordanian dinar, the Kuwaiti dinar, the Libyan dinar, the Omani rial and the Tunisian dinar.
Why does the minor unit matter?
Because it is a property of the currency, not a display preference. A yen amount is 1000, not 1000.00, and a system that treats them as the same has a bug worth two tenths of a percent per unit.
Do currency codes change?
Yes, and the standard records the dates. When a country redenominates, a new code is issued and the old one is withdrawn on a stated date, and a payment file that uses a withdrawn code should be rejected rather than reinterpreted.