Currency codes (ISO 4217)
Handy when building checkout forms, exchange-rate tables, or invoice exports — store the code, display the symbol.
| Currency | Code | Symbol | Minor units |
|---|---|---|---|
| US dollar | USD | $ | 2 |
| Euro | EUR | € | 2 |
| British pound | GBP | £ | 2 |
| Japanese yen | JPY | ¥ | 0 |
| Chinese yuan | CNY | ¥ / 元 | 2 |
| Hong Kong dollar | HKD | HK$ | 2 |
| Taiwan dollar | TWD | NT$ | 2 |
| South Korean won | KRW | ₩ | 0 |
| Swiss franc | CHF | CHF | 2 |
| Canadian dollar | CAD | C$ | 2 |
| Australian dollar | AUD | A$ | 2 |
| New Zealand dollar | NZD | NZ$ | 2 |
| Singapore dollar | SGD | S$ | 2 |
| Indian rupee | INR | ₹ | 2 |
| Indonesian rupiah | IDR | Rp | 2 |
| Thai baht | THB | ฿ | 2 |
| Vietnamese dong | VND | ₫ | 0 |
| Malaysian ringgit | MYR | RM | 2 |
| Philippine peso | PHP | ₱ | 2 |
| Brazilian real | BRL | R$ | 2 |
| Mexican peso | MXN | Mex$ | 2 |
| Argentine peso | ARS | $ | 2 |
| Turkish lira | TRY | ₺ | 2 |
| Russian ruble | RUB | ₽ | 2 |
| Saudi riyal | SAR | ﷼ | 2 |
| UAE dirham | AED | د.إ | 2 |
| South African rand | ZAR | R | 2 |
| Polish zloty | PLN | zł | 2 |
| Swedish krona | SEK | kr | 2 |
| Norwegian krone | NOK | kr | 2 |
| Danish krone | DKK | kr | 2 |
Notes
- Minor units follow ISO 4217 for cash amounts; crypto and some ledgers differ.
- Display symbols overlap (e.g. $); always store the three-letter code.
What ISO 4217 actually specifies
ISO 4217 is the international standard that gives every currency a three-letter code, a numeric code and a defined number of decimal places. The letters are not random: the first two usually identify the country or region and the third the currency's name, so USD is United States dollar, JPY is Japanese yen and EUR is the euro. The standard also fixes the minor unit — how many digits follow the decimal point — which is what software uses to round amounts correctly. When a system says "store the code," it means the ISO 4217 alphabetic code, not the symbol, and that distinction prevents a whole class of payment bugs.
Why the symbol is never enough
Currency symbols are ambiguous in a way that codes are not. The dollar sign serves the US, Canadian, Australian, New Zealand, Hong Kong and Singapore dollars, among others; the yen and yuan symbols overlap; the pound sign covers sterling and several others. A price written as "$10" tells you nothing about which currency is meant. In invoices, APIs and databases, storing the three-letter code removes the ambiguity entirely, and the symbol becomes a presentation detail that is chosen at display time based on the audience. The rule of thumb for any system handling money internationally is simple: store the code, render the symbol.
Minor units, exponents and rounding
The number of decimal places is a property of the currency, not a global setting. Most currencies use two digits, so USD, EUR, GBP and CNY all take cents. But the yen and the Korean won have zero minor units — JPY 100 is one hundred yen, with no decimal — while a handful of dinar-based currencies, including the Kuwaiti dinar, Bahraini dinar, Omani rial and Tunisian dinar, use three. Some currencies also have a different minor unit for cash than for accounting. Rounding incorrectly across these cases can create discrepancies of a hundredfold, so always read the exponent from the standard rather than assuming two decimals.
A short code, a long list of edge cases
Beyond the handful of major currencies in any reference table lie the awkward cases. Currencies get redenominated — Zimbabwe has dropped zeros more than once — and superseded codes stay in historical records. Some territories use another country's currency outright, so there is no local code. Cryptocurrencies deliberately sit outside ISO 4217 and use their own tickers, which is why a ledger handling both needs to know which namespace it is in. And a few currencies share a name across countries while carrying different codes and values. Knowing that the code is the stable identifier, while symbols, names and even decimal places can change, is the practical takeaway.
Frequently asked questions
- What currency is code EUR?
- EUR is the ISO 4217 code for the euro, the currency used by most European Union countries. Its symbol is €.
- What is the currency code for Japan?
- The Japanese yen has the ISO 4217 code JPY and the symbol ¥. It has no minor (decimal) units.
- Why should I store a three-letter currency code instead of a symbol?
- Symbols overlap: $ alone could mean USD, CAD, AUD and more. The three-letter ISO 4217 code is unambiguous.