EMV QR Hub
EMV QR Hub
Technical Guides

ISO 4217 Currency Codes in EMV QR (Tag 53)

EMVCo MPM stores currency in Tag 53 as a three-digit numeric ISO 4217 code, not as INR or USD letters. This page lists the codes you will hit in QR payments and the failures alphabetic values cause.

The rule

ISO 4217 defines both alphabetic (INR) and numeric (356) identifiers. EMVCo QR uses the numeric form in Tag 53 with length 03. Wallets compare that number to the account they will debit. Letters in Tag 53 are not “close enough.”

Common numeric codes

356 = Indian rupee (INR). 764 = Thai baht (THB). 702 = Singapore dollar (SGD). 458 = Malaysian ringgit (MYR). 360 = Indonesian rupiah (IDR). 608 = Philippine peso (PHP). 840 = United States dollar (USD). 978 = euro (EUR). 392 = Japanese yen (JPY). 826 = pound sterling (GBP). 156 = Chinese yuan (CNY). 036 = Australian dollar (AUD).

Always confirm the code your acquirer expects for the merchant’s settlement currency. A tourist-facing shop in Bangkok still usually presents 764, not 840, unless the scheme explicitly supports a foreign-currency QR.

Wrong versus right

Wrong payload fragment: 5303INR. Right: 5303356. Wrong: 5302IN (length 02). Right: length 03. Wrong: Tag 53 omitted because “the wallet knows it is India.” Right: Tag 53 present; country Tag 58 does not replace currency.

Amount Tag 54 follows currency

Tag 54 is a decimal amount in the Tag 53 currency. Do not put a USD amount in Tag 54 while Tag 53 is 356. Yen (392) is often integer-only in schemes; check whether your acquirer allows a decimal point for that currency.

How to verify on this site

Build the QR in the EMV generator and select the currency from the ISO list rather than typing letters. Decode the output and read Tag 53. If you scan a competitor QR and Tag 53 is alphabetic, treat it as non-compliant MPM even if a local app happens to accept it.

Where to look up codes

The maintenance agency for ISO 4217 publishes the official list. EMVCo specifies that MPM Tag 53 uses that numeric list. EMV QR Hub is not ISO or EMVCo; we implement the mapping so generators cannot emit INR by accident.

Zero-decimal currencies

JPY 392 often expects Tag 54 without a decimal point. Emitting 100.00 for yen can fail a scheme even though 840 USD allows 100.00. Confirm per currency with the acquirer.

Generator behavior on this site

The EMV studio lists numeric codes and labels. Prefer picking from the list. If you paste a payload from elsewhere, Decode is the check for Tag 53.

Tag 53 is numeric, always

MPM wants the three-digit numeric ISO 4217 code: 356 INR, 764 THB, 702 SGD, 840 USD, 392 JPY, 156 CNY, 978 EUR, 826 GBP. Alphabetic codes are for humans and for other protocols. If Tag 53 is INR, many wallets will not charge even when CRC is valid. The generator on this site lists numeric codes; prefer picking from the list.

Look up codes in the official ISO 4217 table when you add a market. Do not invent 000 or reuse 840 because a sample used USD. Country Tag 58 and currency Tag 53 should usually align (IN/356, TH/764, SG/702). Cross-currency products exist but must be explicit, not accidental.

Tag 54 follows the currency’s minor units

JPY 392 often expects Tag 54 without a decimal point. Emitting 100.00 for yen can fail a scheme even though 840 USD allows 100.00. Confirm minor-unit rules with the acquirer per currency. Do not assume every market wants two decimal places because your UI input has a cents box.

Amount presence still depends on Tag 01: no 54 on classic static 11, required 54 on billed 12. Currency correctness does not override POI. A perfect 356 on a 12-code without 54 is still a billed-QR defect.

How to verify a live payload

Paste into Decode and read Tag 53 as three digits. If you see letters, regenerate. If you see a numeric code that does not match the merchant file, you will CRC-pass and settle-wrong. Pair with Tag 58. Then scan with a wallet that displays currency explicitly; some UIs hide the numeric code behind a symbol.

This article is the currency rule, not a full ISO encyclopedia. For payload grammar, EMVCo QRCPS on emvco.com remains the QR source. We are not affiliated. Wrong-versus-right examples on this page come from toolkit misuse we see in Decode, not from EMVCo.

Multi-currency edge cases

Airport duty-free and some cross-border merchants may legally price in a currency that does not match Tag 58’s country. Those products exist but must be designed: acquirer file, wallet display, and Tag 53 must agree. Accidental mismatch (IN/764) is not a feature. When in doubt, align country and currency like domestic retail and document exceptions with the acquirer in writing.

Regression when adding a country

Adding a market is not only translation. Add numeric Tag 53, alpha-2 Tag 58, decimal rules for Tag 54, and wallet apps for that market. Run the ISO list in the generator, generate one static and one dynamic sample, decode both, and scan both. A missing currency in the UI dropdown is cheaper to catch pre-launch than in a live sticker.

Wallet display versus Tag 53

Some wallets show ₹ or $ while still using 356 or 840 internally. Support should ask customers to screenshot the pay screen, not guess currency from symbols. Decode remains the ground truth for Tag 53 on the wire.

Explore Related Guides

EMV QR Generator
Create merchant-presented EMV QR payment payloads.
QR Parser & Decoder
Decode QR payloads and inspect EMV tags.
Legal Disclaimer:EMV QR Hub is a technical utility. We do not process financial transactions or store sensitive payment data. Not affiliated with EMVCo, LLC.