Home / Wiki / I / ISO 4217

ISO 4217

Financial InfrastructureUpdated 15 Nov 2026

ISO 4217 is the standard of the International Organization for Standardization that assigns codes to the world's currencies. Each currency receives a three-letter alphabetic code, such as USD for the United States dollar or EUR for the euro, and a three-digit numeric code. The standard also records the relationship between each currency and its minor unit, which tells systems how many decimal places an amount in that currency has.

First published in 1978, the standard is used wherever money amounts are exchanged between computer systems: payment messages, card transactions, exchange rate quotations, accounting software, airline tickets and price lists. A currency code removes the ambiguity of symbols and names, since several countries call their currency the dollar, peso or franc. The list is maintained on ISO's behalf by SIX, the Swiss financial infrastructure group.

01

Structure of the codes

For a national currency, the first two letters of the alphabetic code are normally the country's two-letter code from ISO 3166, and the third letter is usually the initial of the currency's name: JP and yen give JPY, CH and franc give CHF, IN and rupee give INR. The numeric code generally matches the country's numeric code in ISO 3166, so USD is 840 and JPY is 392. Numeric codes exist for use in systems and countries that do not work in Latin script.

The third element is the minor unit, expressed as an exponent. Most currencies have two decimal places. The Japanese yen and South Korean won have none, and the Kuwaiti dinar, Bahraini dinar, Omani rial, Jordanian dinar and Tunisian dinar have three. The standard also publishes a list of fund codes and a list of historic codes for currencies no longer in use.

02

Supranational and special codes

Codes beginning with X are reserved for items that do not belong to a single country, because no country code starts with that letter.

  • Precious metals. XAU is gold, XAG silver, XPT platinum and XPD palladium, each quoted per troy ounce.
  • Units of international bodies. XDR is the International Monetary Fund's special drawing right.
  • Shared regional currencies. XOF and XAF are the West and Central African CFA francs, XCD the East Caribbean dollar and XPF the CFP franc.
  • Technical codes. XTS is reserved for testing and XXX means that no currency is involved.

The euro is the main exception to the naming pattern. Its code, EUR, rests on the reserved country code EU and not on any member state.

03

Changes to the list

The maintenance agency amends the list when a currency is introduced, withdrawn or redenominated. A redenomination, in which a country removes zeros from its currency, produces a new code so that old and new amounts cannot be confused: the Turkish lira moved from TRL to TRY in 2005, and Venezuela's bolívar has changed code more than once. When countries adopt a shared currency, their old codes pass to the historic list, as the Deutsche Mark's DEM and the French franc's FRF did when the euro replaced them.

Some widely used codes are not part of the standard. CNH is market shorthand for renminbi traded outside mainland China, while the official code is CNY. Cryptocurrencies have no ISO 4217 codes; tickers such as BTC are market conventions, and digital tokens are identified under a separate ISO standard. A stablecoin pegged to the dollar is likewise not USD for the purposes of a payment message.

04

Use in payments

Every modern payment format carries the currency as an ISO 4217 code. ISO 20022 messages attach the alphabetic code to each amount. Card messages built on ISO 8583 use the numeric code and may carry several currencies in one transaction: the currency in which the merchant priced the sale, the currency in which the network settles, and the currency in which the cardholder is billed. The distinction between presentment currency and settlement currency, and services such as dynamic currency conversion and multi-currency pricing, all depend on these fields.

In foreign exchange, a currency pair is written as two codes together, such as EURUSD, with the first being the base currency of the exchange rate. Payment APIs ask for the code alongside every amount, and payout providers publish the list of codes they support for each destination country.

05

The minor unit problem

The decimal information in the standard is a frequent source of errors. Many card and API formats transmit amounts as whole numbers of the minor unit, without a decimal point. The value 1000 therefore means 10.00 in US dollars, 1,000 in yen and 1.000 in Kuwaiti dinars. A system that assumes two decimals for every currency will overcharge or undercharge by a factor of ten or a hundred when it meets a zero-decimal or three-decimal currency.

Practice does not always match the standard. Some currencies have minor units that no longer circulate, and card networks or processors may treat a currency differently from the published exponent. Cash rounding rules, under which totals are rounded to the smallest coin in use, are also outside the standard. Developers are therefore advised to take the exponent from the payment provider's own documentation for each currency and to store amounts as integers together with the code, never as floating-point numbers.

Last updated 15 Nov 2026