Skip to content
CardTools

Currency Minor Units

ISO 4217 codes and exponents, with a converter so you stop getting JPY and KWD wrong.

Runs entirely in your browser. Nothing you paste is uploaded, logged or stored.

Try:

All 178 currency codes

CodeNumericExponentName
7842UAE Dirham
9712Afghani
0082Lek
0512Armenian Dram
5322Netherlands Antillean Guilder
9732Kwanza
0322Argentine Peso
0362Australian Dollar
5332Aruban Florin
9442Azerbaijan Manat
9772Convertible Mark
0522Barbados Dollar
0502Taka
9752Bulgarian Lev
0483Bahraini Dinar
1080Burundi Franc
0602Bermudian Dollar
0962Brunei Dollar
0682Boliviano
9842Mvdolfund
9862Brazilian Real
0442Bahamian Dollar
0642Ngultrum
0722Pula
9332Belarusian Ruble
0842Belize Dollar
1242Canadian Dollar
9762Congolese Franc
9472WIR Eurofund
7562Swiss Franc
9482WIR Francfund
9904Unidad de Fomentofund
1520Chilean Peso
1562Yuan Renminbi
1702Colombian Peso
9702Unidad de Valor Realfund
1882Costa Rican Colon
1922Cuban Peso
1322Cabo Verde Escudo
2032Czech Koruna
2620Djibouti Franc
2082Danish Krone
2142Dominican Peso
0122Algerian Dinar
8182Egyptian Pound
2322Nakfa
2302Ethiopian Birr
9782Euro
2422Fiji Dollar
2382Falkland Islands Pound
8262Pound Sterling
9812Lari
9362Ghana Cedi
2922Gibraltar Pound
2702Dalasi
3240Guinean Franc
3202Quetzal
3282Guyana Dollar
3442Hong Kong Dollar
3402Lempira
3322Gourde
3482Forint
3602Rupiah
3762New Israeli Sheqel
3562Indian Rupee
3683Iraqi Dinar
3642Iranian Rial
3520Iceland Krona
3882Jamaican Dollar
4003Jordanian Dinar
3920Yen
4042Kenyan Shilling
4172Som
1162Riel
1740Comorian Franc
4082North Korean Won
4100Won
4143Kuwaiti Dinar
1362Cayman Islands Dollar
3982Tenge
4182Lao Kip
4222Lebanese Pound
1442Sri Lanka Rupee
4302Liberian Dollar
4262Loti
4343Libyan Dinar
5042Moroccan Dirham
4982Moldovan Leu
9692Malagasy Ariary
8072Denar
1042Kyat
4962Tugrik
4462Pataca
9292Ouguiya
4802Mauritius Rupee
4622Rufiyaa
4542Malawi Kwacha
4842Mexican Peso
9792Mexican Unidad de Inversionfund
4582Malaysian Ringgit
9432Mozambique Metical
5162Namibia Dollar
5662Naira
5582Cordoba Oro
5782Norwegian Krone
5242Nepalese Rupee
5542New Zealand Dollar
5123Rial Omani
5902Balboa
6042Sol
5982Kina
6082Philippine Peso
5862Pakistan Rupee
9852Zloty
6000Guarani
6342Qatari Rial
9462Romanian Leu
9412Serbian Dinar
6432Russian Ruble
6460Rwanda Franc
6822Saudi Riyal
0902Solomon Islands Dollar
6902Seychelles Rupee
9382Sudanese Pound
7522Swedish Krona
7022Singapore Dollar
6542Saint Helena Pound
9252Leone
7062Somali Shilling
9682Surinam Dollar
7282South Sudanese Pound
9302Dobra
2222El Salvador Colon
7602Syrian Pound
7482Lilangeni
7642Baht
9722Somoni
9342Turkmenistan New Manat
7883Tunisian Dinar
7762Pa'anga
9492Turkish Lira
7802Trinidad and Tobago Dollar
9012New Taiwan Dollar
8342Tanzanian Shilling
9802Hryvnia
8000Uganda Shilling
8402US Dollar
9972US Dollar (next day)fund
9400Uruguay Peso en Unidades Indexadasfund
8582Peso Uruguayo
9274Unidad Previsionalfund
8602Uzbekistan Sum
9262Bolivar Soberano (VED)
9282Bolivar Soberano
7040Dong
5480Vatu
8822Tala
9500CFA Franc BEAC
9512East Caribbean Dollar
960n/aSDR (Special Drawing Right)fund
9520CFA Franc BCEAO
9530CFP Franc
959n/aGold (one troy ounce)
961n/aSilver (one troy ounce)
962n/aPlatinum (one troy ounce)
964n/aPalladium (one troy ounce)
955n/aEuropean Composite Unit (EURCO)fund
956n/aEuropean Monetary Unit (E.M.U.-6)fund
957n/aEuropean Unit of Account 9 (E.U.A.-9)fund
958n/aEuropean Unit of Account 17 (E.U.A.-17)fund
994n/aSucrefund
965n/aADB Unit of Accountfund
963n/aReserved for testing
999n/aNo currency involved
8862Yemeni Rial
7102Rand
9672Zambian Kwacha
9242Zimbabwe Gold

The ones that catch people out

Most currencies use two decimal places. These do not — and every one of them has caused a production incident somewhere.

No minor unit13 codes

Zero decimal places17 codes

Three decimal places7 codes

Four decimal places2 codes

Why the exponent matters

Payment systems carry amounts as integers in the currency's smallest unit. ISO 8583 DE 4 is twelve digits with no decimal point; EMV tag 9F02 is six bytes of BCD; virtually every payment API takes an integer. The exponent is what tells you where the decimal point belongs.

Get it wrong and the error is not subtle. Treating JPY as two-decimal makes every amount 100 times too small. Treating KWD as two-decimal makes it 10 times too large. Both are real production incidents that happen regularly, because the default assumption — two decimal places — is right for about 85% of currencies and silently wrong for the rest.

The exceptions worth memorising

Zero decimals: JPY, KRW, VND, CLP, ISK, PYG, UGX, RWF, VUV, XAF, XOF, XPF, BIF, DJF, GNF, KMF. If you handle Japanese or Korean payments, this is the one that will find you.

Three decimals: BHD, IQD, JOD, KWD, LYD, OMR, TND. Gulf and North African dinars. A thousand fils to the dinar.

Four decimals: CLF and UYW, both index units rather than everyday currencies, but they appear in ISO 4217 and will break naive parsers.

Alpha versus numeric codes

ISO 4217 defines both a three-letter code (GBP) and a three-digit numeric code (826). Card messages overwhelmingly use the numeric form — EMV tag 5F2A and ISO 8583 DE 49 — while APIs usually take the alpha form. EMV pads the numeric code to four digits in BCD, so GBP appears as 0826. This lookup accepts either form and both paddings.

Fund codes are not currencies

Codes like CLF, MXV, CHE and UYI are accounting units, not things you can charge a cardholder in. If one appears in a transaction you are almost certainly looking at a data error rather than an exotic settlement arrangement.

A caveat on ISO 4217 exponents

The exponent describes the currency's formal minor unit, which occasionally diverges from practice. MGA and MRU are formally two-decimal but their subunit is one fifth rather than one hundredth. Some zero-decimal currencies were historically subdivided and old systems may still carry two decimals for them. When a settlement figure disagrees with the exponent, the scheme's own rules win.

More Reference tools