Last reviewed on May 1, 2026.
Every FX quote, payment instruction, and currency conversion tool you have ever used relies on the same identifier: a three-letter currency code. USD, EUR, JPY, GBP. The codes are part of an international standard called ISO 4217, maintained by the International Organization for Standardization. They exist because country names and currency names are ambiguous — "the dollar" alone can mean at least a dozen different currencies — and because banking and trading systems need a fixed, unambiguous label per currency.
This guide explains how the codes are built, why each letter is what it is, what the less obvious quirks (like XAU and XDR) mean, and how to spot a code that looks unusual. If you came here for the codes themselves, the full ISO 4217 currency code list further down gives the three-letter code, the three-digit numeric code, and the number of decimal places for every currency covered on this site.
What ISO 4217 actually is
ISO 4217 is the international standard that assigns three identifiers to each official currency:
- A three-letter alphabetic code — the form most people see (USD, EUR, JPY).
- A three-digit numeric code — used in machine-to-machine systems (840 for USD, 978 for EUR, 392 for JPY).
- A minor unit exponent — how many decimal places the currency uses for amounts (2 for USD, 0 for JPY, 3 for KWD).
Banks, payment networks, and FX systems use those three pieces of information to format an amount unambiguously and to exchange instructions across borders. The alphabetic code is what shows up on this site and on every other consumer FX tool.
How the three-letter code is built
For most national currencies, the rule is intuitive: the first two letters are the ISO 3166 country code, and the third letter is the first letter of the currency name.
| Code | Country (ISO 3166) | Currency name |
|---|---|---|
| USD | US — United States | Dollar |
| GBP | GB — United Kingdom | Pound |
| JPY | JP — Japan | Yen |
| CHF | CH — Switzerland (Confoederatio Helvetica) | Franc |
| CAD | CA — Canada | Dollar |
| AUD | AU — Australia | Dollar |
| BRL | BR — Brazil | Real |
| INR | IN — India | Rupee |
| KRW | KR — South Korea | Won |
Once you see the rule, most codes parse instantly. ZAR is South Africa's Rand — ZA from the country code (Zuid-Afrika in Dutch, the historical source of the country code), R from "Rand". MXN is Mexico's "nuevo peso" — MX from the country, N from "nuevo" rather than "peso", because the currency was redenominated and a new code was needed.
The euro is the obvious exception
EUR does not follow the country-plus-initial rule. The euro is a multi-country currency, so there is no single ISO 3166 country code to draw from. The standard simply assigns EUR for "EURo" instead. The numeric code is 978.
A handful of other currencies are similar. The East Caribbean Dollar is XCD, where the leading X marks it as a multi-country or supranational currency rather than the currency of a specific country.
Codes that start with "X"
Codes beginning with X are reserved for currencies and assets that are not tied to a specific country. They are easy to recognise and worth understanding because they appear in financial contexts even though most consumers will never transact in them:
- XAU — one troy ounce of gold (Au is gold's chemical symbol).
- XAG — one troy ounce of silver.
- XPT, XPD — platinum and palladium, respectively.
- XDR — Special Drawing Rights, a unit of account used by the International Monetary Fund.
- XCD, XOF, XAF, XPF — multi-country currencies (East Caribbean Dollar, West African CFA Franc, Central African CFA Franc, CFP Franc).
- XTS — reserved for testing in financial systems; not a real currency.
- XXX — reserved for transactions where no currency is involved.
If you see an X-code in a context where you expected a national currency, it is usually metals or a multi-country instrument, not an error.
Why redenominations create new codes
When a country replaces its currency — usually after a long stretch of high inflation — the new currency normally needs a new ISO code, even if the everyday name barely changes. ISO 4217 reissues the alphabetic code so that historical records do not collide with current ones. Past examples include Mexican peso codes changing during a redenomination and several Latin American currencies receiving new codes as governments reset the unit. From a consumer perspective, what matters is that the code your bank uses today is the one you should look up on a conversion site — older codes still appear in archived data but no longer represent live currency.
Minor units: why JPY has no decimals and KWD has three
Most currencies divide into 100 minor units (a dollar is 100 cents, a euro is 100 cents, a pound is 100 pence). ISO 4217 expresses this as an exponent of 2 — meaning two decimal places when an amount is written out. Some currencies are different:
- JPY has an exponent of 0. Amounts are written as whole numbers; there is no minor unit in everyday use.
- KWD, BHD, JOD, OMR, TND have an exponent of 3 — amounts are written with three decimal places.
- CLF (Chilean Unidad de Fomento) has an exponent of 4.
This matters for payment systems, accounting, and any conversion that needs to round correctly. On consumer-facing tools, including this site, rates are usually shown to four decimal places regardless, but converted amounts respect the conventional precision of the currency on the receiving end.
Codes vs symbols: not the same thing
The three-letter code is universal: USD always means United States Dollar. The currency symbol, by contrast, is ambiguous. The dollar sign $ is used for at least a dozen currencies (US, Canadian, Australian, Singapore, Hong Kong, Mexican, and more). The yuan and yen share ¥ even though they are entirely different currencies. The peso symbol is used across many Latin American currencies. When precision matters — invoicing, contracts, reporting — use the ISO code, not the symbol. When friendliness matters and the context is unambiguous, the symbol is fine.
ISO 4217 currency code list
The table below lists every currency covered on currencyconversion.org with its ISO 4217 alphabetic code, its three-digit numeric code, and its minor unit — the number of decimal places the standard says amounts in that currency should carry. Currencies are grouped roughly by region, majors first.
| Code | Numeric | Decimals | Currency name (ISO 4217) | Country / area |
|---|---|---|---|---|
| USD | 840 | 2 | US Dollar | United States |
| EUR | 978 | 2 | Euro | Euro area |
| GBP | 826 | 2 | Pound Sterling | United Kingdom |
| JPY | 392 | 0 | Yen | Japan |
| CHF | 756 | 2 | Swiss Franc | Switzerland |
| CAD | 124 | 2 | Canadian Dollar | Canada |
| AUD | 036 | 2 | Australian Dollar | Australia |
| NZD | 554 | 2 | New Zealand Dollar | New Zealand |
| CNY | 156 | 2 | Yuan Renminbi | China |
| INR | 356 | 2 | Indian Rupee | India |
| SGD | 702 | 2 | Singapore Dollar | Singapore |
| HKD | 344 | 2 | Hong Kong Dollar | Hong Kong |
| THB | 764 | 2 | Baht | Thailand |
| MYR | 458 | 2 | Malaysian Ringgit | Malaysia |
| KRW | 410 | 0 | Won | South Korea |
| PHP | 608 | 2 | Philippine Peso | Philippines |
| IDR | 360 | 2 | Rupiah | Indonesia |
| TWD | 901 | 2 | New Taiwan Dollar | Taiwan |
| PKR | 586 | 2 | Pakistan Rupee | Pakistan |
| BDT | 050 | 2 | Taka | Bangladesh |
| VND | 704 | 0 | Dong | Vietnam |
| AED | 784 | 2 | UAE Dirham | United Arab Emirates |
| SAR | 682 | 2 | Saudi Riyal | Saudi Arabia |
| QAR | 634 | 2 | Qatari Rial | Qatar |
| KWD | 414 | 3 | Kuwaiti Dinar | Kuwait |
| ILS | 376 | 2 | New Israeli Sheqel | Israel |
| SEK | 752 | 2 | Swedish Krona | Sweden |
| NOK | 578 | 2 | Norwegian Krone | Norway |
| DKK | 208 | 2 | Danish Krone | Denmark |
| PLN | 985 | 2 | Zloty | Poland |
| CZK | 203 | 2 | Czech Koruna | Czechia |
| HUF | 348 | 2 | Forint | Hungary |
| RON | 946 | 2 | Romanian Leu | Romania |
| TRY | 949 | 2 | Turkish Lira | Türkiye |
| RUB | 643 | 2 | Russian Ruble | Russia |
| ZAR | 710 | 2 | Rand | South Africa |
| EGP | 818 | 2 | Egyptian Pound | Egypt |
| NGN | 566 | 2 | Naira | Nigeria |
| MXN | 484 | 2 | Mexican Peso | Mexico |
| BRL | 986 | 2 | Brazilian Real | Brazil |
| ARS | 032 | 2 | Argentine Peso | Argentina |
| COP | 170 | 2 | Colombian Peso | Colombia |
These are the 42 currencies with pair pages on this site, not the complete ISO 4217 register — the full standard also covers currencies this site does not quote, plus the X-codes described above. The list here is kept in step with the pairs we actually publish rates for.
Reading the three-digit numeric code
The numeric code is the machine-readable half of the standard, and it is the one most people meet only when a payment file or an API rejects something. It exists because not every system can rely on Latin characters, and because a fixed-width numeric field is easier to validate. USD is 840, EUR is 978, GBP is 826, JPY is 392. The numbers are, for most currencies, inherited from the ISO 3166 numeric country code — 840 is also the numeric code for the United States — which is why they look arbitrary rather than sequential.
Two practical points. First, numeric codes are zero-padded to three digits: Australia's dollar is 036, not 36, and Bangladesh's taka is 050. Dropping the leading zero is a common cause of failed validation. Second, when a currency is retired and replaced, the numeric code is retired with it and the successor gets a new one, so an old numeric code in an archive does not silently map onto today's currency.
Decimal places (minor units) in practice
The decimals column is not cosmetic. It tells a payment system how to interpret an integer amount: many systems store money in minor units, so 1000 means 10.00 USD but 1,000 JPY. Get the exponent wrong and the amount is out by a factor of 100. Most currencies on this list use 2 decimals. The yen, the won, and the dong use 0 — there is no everyday sub-unit in circulation. The Kuwaiti dinar uses 3, so a dinar divides into 1,000 fils.
Note that the exponent describes how amounts are written, not how precisely an exchange rate is quoted. Rates on this site and elsewhere are usually shown to four to six significant figures regardless of the currency's minor unit, because a rate is a ratio rather than a sum of money.
Codes used on this site
Pair pages are addressed by the lowercase form of the two codes — for example, USD to EUR, GBP to JPY, AUD to CAD, DKK to USD, SAR to USD. The home page lists every code we cover alongside the country or region it belongs to, and the exchange-rate feed behind the site identifies currencies the same way.
Common mistakes
- Treating a symbol as if it were a code. "$" is not enough; "USD" is.
- Assuming a two-letter code is a currency code. Two-letter codes are countries (ISO 3166), not currencies.
- Using an old, retired code from before a redenomination — historical data may still cite it, but live transactions need the current code.
- Confusing CNY (the official code for the Chinese yuan / renminbi) with CNH (an offshore market identifier used in trading systems but not an ISO 4217 currency code).
Where to go next
Now that codes parse cleanly, the next step is reading what the rate between two codes actually means — see how exchange rates are quoted. To gauge whether a pair will show a tight or wide spread on real transactions, the major, minor, and exotic pairs guide is the natural follow-up. And to understand why your bank's offered rate diverges from the reference rate shown here, the mid-market vs bank rates guide walks through the gap.
The codes are only half of reading a quote; which currency is being priced is the other half, covered in direct vs indirect exchange rate quotes.