ISO 8583 Parser
Free · Full reference · ~8 min read · Updated 2026-08-11

ISO 4217 Currency Codes: Full Numeric List with Minor Units

Every currency field in an ISO 8583 message — DE49, DE50, DE51 — carries the three-digit numeric ISO 4217 code, not the letters: 764, not THB; 840, not USD. The table below lists 150 currencies sorted by numeric code, each with its alpha code, name and minor units (exponent) — the digit that decides where the implied decimal point sits in the amount fields.

Full table, sorted by numeric code

The list is sorted by the numeric code because that is the form a message actually gives you: DE49 reads 764, and the question is what 764 means (Thai Baht, 2 decimals). Every row is deep-linkable via #c + numeric code — #c764 jumps straight to that row. A useful pattern: the numeric codes reuse the ISO 3166 country numbers (840 = US, 392 = JP), while supranational currencies sit in the 9xx range (978 EUR, 952 XOF).

Jump to: 764 THB · 840 USD · 978 EUR · 392 JPY · 156 CNY · 826 GBP · 702 SGD · 414 KWD

Numeric (DE49)AlphaCurrencyMinor units
008ALLAlbanian Lek2
012DZDAlgerian Dinar2
032ARSArgentine Peso2
036AUDAustralian Dollar2
044BSDBahamian Dollar2
048BHDBahraini Dinar3
050BDTBangladeshi Taka2
051AMDArmenian Dram2
052BBDBarbadian Dollar2
060BMDBermudian Dollar2
064BTNBhutanese Ngultrum2
068BOBBolivian Boliviano2
072BWPBotswana Pula2
084BZDBelize Dollar2
090SBDSolomon Islands Dollar2
096BNDBrunei Dollar2
104MMKMyanmar Kyat2
108BIFBurundian Franc0
116KHRCambodian Riel2
124CADCanadian Dollar2
132CVECape Verdean Escudo2
136KYDCayman Islands Dollar2
144LKRSri Lankan Rupee2
152CLPChilean Peso0
156CNYChinese Yuan2
170COPColombian Peso2
174KMFComorian Franc0
188CRCCosta Rican Colon2
192CUPCuban Peso2
203CZKCzech Koruna2
208DKKDanish Krone2
214DOPDominican Peso2
230ETBEthiopian Birr2
238FKPFalkland Islands Pound2
242FJDFijian Dollar2
262DJFDjiboutian Franc0
270GMDGambian Dalasi2
292GIPGibraltar Pound2
320GTQGuatemalan Quetzal2
324GNFGuinean Franc0
328GYDGuyanese Dollar2
332HTGHaitian Gourde2
340HNLHonduran Lempira2
344HKDHong Kong Dollar2
348HUFHungarian Forint2
352ISKIcelandic Krona0
356INRIndian Rupee2
360IDRIndonesian Rupiah2
364IRRIranian Rial2
368IQDIraqi Dinar3
376ILSIsraeli New Shekel2
388JMDJamaican Dollar2
392JPYJapanese Yen0
398KZTKazakhstani Tenge2
400JODJordanian Dinar3
404KESKenyan Shilling2
408KPWNorth Korean Won2
410KRWSouth Korean Won0
414KWDKuwaiti Dinar3
417KGSKyrgyzstani Som2
418LAKLao Kip2
422LBPLebanese Pound2
426LSLLesotho Loti2
430LRDLiberian Dollar2
434LYDLibyan Dinar3
446MOPMacanese Pataca2
454MWKMalawian Kwacha2
458MYRMalaysian Ringgit2
462MVRMaldivian Rufiyaa2
480MURMauritian Rupee2
484MXNMexican Peso2
496MNTMongolian Tugrik2
498MDLMoldovan Leu2
504MADMoroccan Dirham2
512OMROmani Rial3
516NADNamibian Dollar2
524NPRNepalese Rupee2
533AWGAruban Florin2
548VUVVanuatu Vatu0
554NZDNew Zealand Dollar2
558NIONicaraguan Cordoba2
566NGNNigerian Naira2
578NOKNorwegian Krone2
586PKRPakistani Rupee2
590PABPanamanian Balboa2
598PGKPapua New Guinean Kina2
600PYGParaguayan Guarani0
604PENPeruvian Sol2
608PHPPhilippine Peso2
634QARQatari Riyal2
643RUBRussian Ruble2
646RWFRwandan Franc0
654SHPSaint Helena Pound2
682SARSaudi Riyal2
690SCRSeychellois Rupee2
702SGDSingapore Dollar2
704VNDVietnamese Dong0
706SOSSomali Shilling2
710ZARSouth African Rand2
748SZLSwazi Lilangeni2
752SEKSwedish Krona2
756CHFSwiss Franc2
760SYPSyrian Pound2
764THBThai Baht2
776TOPTongan Pa'anga2
780TTDTrinidad and Tobago Dollar2
784AEDUAE Dirham2
788TNDTunisian Dinar3
800UGXUgandan Shilling0
807MKDMacedonian Denar2
818EGPEgyptian Pound2
826GBPPound Sterling2
834TZSTanzanian Shilling2
840USDUS Dollar2
858UYUUruguayan Peso2
860UZSUzbekistani Som2
882WSTSamoan Tala2
886YERYemeni Rial2
901TWDNew Taiwan Dollar2
925SLESierra Leonean Leone2
928VESVenezuelan Bolivar Soberano2
929MRUMauritanian Ouguiya2
930STNSao Tome and Principe Dobra2
933BYNBelarusian Ruble2
934TMTTurkmenistani Manat2
936GHSGhanaian Cedi2
938SDGSudanese Pound2
941RSDSerbian Dinar2
943MZNMozambican Metical2
944AZNAzerbaijani Manat2
946RONRomanian Leu2
949TRYTurkish Lira2
950XAFCentral African CFA Franc0
951XCDEast Caribbean Dollar2
952XOFWest African CFA Franc0
953XPFCFP Franc0
967ZMWZambian Kwacha2
968SRDSurinamese Dollar2
969MGAMalagasy Ariary2
971AFNAfghan Afghani2
972TJSTajikistani Somoni2
973AOAAngolan Kwanza2
975BGNBulgarian Lev2
976CDFCongolese Franc2
977BAMBosnia and Herzegovina Convertible Mark2
978EUREuro2
980UAHUkrainian Hryvnia2
981GELGeorgian Lari2
985PLNPolish Zloty2
986BRLBrazilian Real2

For interactive search and a minor-units converter, use the currency code lookup tool — type a code, a number or a name and it filters as you go.

Minor units: where the decimal point goes

ISO 8583 amount fields have no decimal point. DE4 is an integer in the currency's minor units, and the currency code in DE49 tells you how many of the trailing digits are fractional. The same 12-digit value means three very different amounts:

DE4 valueDE49Minor unitsActual amount
000000001000840 USD210.00 US dollars
000000001000392 JPY01,000 yen
000000001000414 KWD31.000 Kuwaiti dinar
The classic bug is hardcoding amount × 100 because the first ten currencies you tested all had 2 decimals. Send ¥5,000 that way and the message says 500000 — which in a 0-decimal currency is ¥500,000, one hundred times too much, and it will authorize. The mirror image under-charges 3-decimal currencies tenfold. Both failures are silent: drive every conversion off a currency → exponent table instead of a literal 100.

Currencies with 0 minor units

The amount field is already the final amount — no digits are fractional:

BIF 108 (Burundian Franc), CLP 152 (Chilean Peso), KMF 174 (Comorian Franc), DJF 262 (Djiboutian Franc), GNF 324 (Guinean Franc), ISK 352 (Icelandic Krona), JPY 392 (Japanese Yen), KRW 410 (South Korean Won), VUV 548 (Vanuatu Vatu), PYG 600 (Paraguayan Guarani), RWF 646 (Rwandan Franc), VND 704 (Vietnamese Dong), UGX 800 (Ugandan Shilling), XAF 950 (Central African CFA Franc), XOF 952 (West African CFA Franc), XPF 953 (CFP Franc).

Currencies with 3 minor units

The last three digits are fractional (1 dinar = 1000 fils):

BHD 048 (Bahraini Dinar), IQD 368 (Iraqi Dinar), JOD 400 (Jordanian Dinar), KWD 414 (Kuwaiti Dinar), LYD 434 (Libyan Dinar), OMR 512 (Omani Rial), TND 788 (Tunisian Dinar).

Everything else in the table above uses the familiar 2 decimals.

DE49 vs DE50 vs DE51: three currency fields, three currencies

ISO 8583 defines three currency-code fields, each paired with its own amount field:

Currency fieldNamePairs withWhose currency
DE49Currency code, transactionDE4 (amount, transaction)What the merchant charged at the point of sale
DE50Currency code, settlementDE5 (amount, settlement)What the network settles between the banks in
DE51Currency code, cardholder billingDE6 (amount, cardholder billing)What the cardholder's account is debited in

On a purely domestic transaction all three are the same and DE50/DE51 are often absent. Cross-border, they diverge: a Singapore-issued card paying in Bangkok can carry DE49 = 764 (THB at the till), DE50 = 840 (network settles in USD) and DE51 = 702 (cardholder billed in SGD). And if the merchant offers DCC (dynamic currency conversion) and the cardholder accepts, the conversion moves to the point of sale: DE49 itself becomes 702 — the card's currency — at the merchant's exchange rate. The EMV amount tag 9F02 follows the transaction currency, i.e. DE49's exponent.

Practical rule: never assume the three match. Read each amount with the exponent of its own currency field — DE4 with DE49, DE5 with DE50, DE6 with DE51. Paste a full message into the parser and it applies the right exponent to each amount automatically.

When codes change

ISO 4217 is a maintained standard, not a frozen one. Currencies get redenominated with a new code (Sierra Leone's SLL became SLE 925), retired when a country switches currency (Croatia's HRK ended with euro adoption), and occasionally added. The special code XXX 999 means "no currency" and shows up in test messages. This table covers the currencies current at the time of writing; for anything money moves on, the authority is your counterparty's interface specification and the current ISO 4217 amendment — if your scheme spec says a code means something else, the spec wins.


👉 Working with a live message? The parser decodes DE49/DE50/DE51 and formats every amount with the right exponent. For one-off lookups with a converter, use the currency codes tool.

Read next