How VietQR Works – Complete Guide to Vietnam Bank Transfer QR
Everything about Vietnam's national bank transfer QR standard by NAPAS: Bank BINs, EMV payload format (Tag ID 38!), account name rules and supported apps.
What is VietQR?
VietQR is Vietnam's national QR code standard for instant interbank bank transfers, developed by NAPAS (National Payment Corporation of Vietnam) in cooperation with the State Bank of Vietnam (SBV). Officially launched in March 2022, VietQR enables any Vietnamese bank customer to make and receive transfers by scanning a single standardised QR code — no manual account entry required. Before VietQR, transferring money to another bank required entering the recipient's bank name, account number, and branch details separately. VietQR encodes all of this in one QR code: the bank BIN identifies the receiving bank, and the account number identifies the recipient. VietQR is built on the EMV Merchant Presented Mode (MPM) specification with one important difference: NAPAS uses field ID 38 (instead of the more common ID 26) for the merchant account information. Over 50 Vietnamese banks support VietQR, including the Big Four state-owned banks and all major private banks.
How VietQR Works – Step by Step
- 1
Recipient generates a VietQR code
Enter your bank BIN (or select your bank), account number, account name in UPPERCASE, and optionally a pre-filled amount and description. The QR encodes all this as an EMV payload.
- 2
Sender opens any supported banking app
All Vietnamese banking apps and major e-wallets (MoMo, ZaloPay, VNPay) support VietQR scanning. The system is fully interoperable across all NAPAS-member banks.
- 3
Sender scans the QR code
The app reads the EMV payload, extracts the bank BIN (identifying the receiving bank), account number, and amount. No manual entry needed.
- 4
Transfer form is pre-filled
The sender's app automatically identifies the recipient's bank from the BIN and pre-fills the account number, account name, and amount (if embedded). The sender reviews and confirms.
- 5
Sender authenticates
The sender confirms the transfer using their bank's authentication (PIN, fingerprint or face ID). The credential never leaves their device.
- 6
Transfer completes via NAPAS
NAPAS routes the interbank transfer in real time. Funds arrive in the recipient's account within seconds, 24/7, including weekends and public holidays.
- 7
Both parties receive confirmation
The sender gets a transaction success notification. The recipient receives an instant credit alert via SMS and in-app notification from their bank.
Bank BIN System – Finding Your Bank's Code
A BIN (Bank Identification Number) is a 6-digit code uniquely assigned by NAPAS to each member bank. It is the primary routing identifier in VietQR — the recipient's bank app looks up the BIN to determine which institution to route the transfer to, without needing bilateral agreements between every pair of banks. The BIN is encoded in tag 01 within the NAPAS merchant account field (field ID 38) of the EMV payload. Major Vietnamese bank BINs: Vietcombank (970436), BIDV (970418), Agribank (970405), Vietinbank (970415), Techcombank (970407), MB Bank (970422), VPBank (970432), TPBank (970423), Sacombank (970403), ACB (970416), HDBank (970437).
| BIN | Bank Name | Short Code |
|---|---|---|
| 970436 | Vietcombank | VCB |
| 970418 | BIDV | BIDV |
| 970405 | Agribank | AGB |
| 970415 | Vietinbank | CTG |
| 970407 | Techcombank | TCB |
| 970422 | MB Bank | MB |
| 970432 | VPBank | VPB |
| 970423 | TPBank | TPB |
| 970403 | Sacombank | STB |
| 970416 | ACB | ACB |
| 970437 | HDBank | HDB |
The VietQR EMV Payload (Tag ID 38 – not ID 26!)
VietQR is built on the EMV QR Code Merchant Presented Mode specification, but with a critical distinction: NAPAS uses field ID 38 for the merchant account information, whereas most other standards (PromptPay, PayNow, DuitNow) use ID 26. Any VietQR parser must look for the NAPAS AID A000000727 in tag 38, not tag 26. Within tag 38: sub-tag 00 holds the NAPAS Application ID (A000000727), sub-tag 01 holds the Bank BIN (6 digits), sub-tag 02 holds the account number. Tag 53 contains 704 (VND currency code). VND amounts are whole numbers — no decimals, as VND has no subdivisions.
000201 ← Payload Format Indicator 010211 ← Point of Initiation: 11 (static) 38[len] ← NAPAS Merchant Account (ID 38, not 26!) 0010A000000727 ← NAPAS AID 01[len]970436 ← Bank BIN (Vietcombank) 02[len]1234567890 ← Account Number 5204[mcc] ← Merchant Category Code 5303704 ← Currency: VND (704) 5406150000 ← Amount: 150,000 VND 5802VN ← Country Code 5913NGUYEN VAN A ← Merchant Name (UPPERCASE ASCII) 6010HA NOI ← Merchant City 6233 ← Additional Data 08[len]NOTE ← Bill number / description 6304XXXX ← CRC16-CCITT checksum
| Tag | Example Value | Required | Description |
|---|---|---|---|
| 00 | 01 | Required | Payload Format Indicator (always "01") |
| 01 | 11 | Optional | Point of Initiation Method (11=static, 12=dynamic) |
| 38 | ... | Required | NAPAS Merchant Account – contains BIN + account number |
| 38 › 00 | A000000727 | Required | NAPAS Application ID (AID) |
| 38 › 01 | 970436 | Required | Bank BIN (6 digits) |
| 38 › 02 | 1234567890 | Required | Account number |
| 52 | 4814 | Optional | Merchant Category Code (MCC) |
| 53 | 704 | Required | Transaction Currency (704 = VND) |
| 54 | 150000 | Optional | Transaction Amount (whole VND, no decimals) |
| 58 | VN | Required | Country Code |
| 59 | NGUYEN VAN A | Required | Merchant Name (UPPERCASE ASCII, no diacritics) |
| 60 | HA NOI | Required | Merchant City (ASCII) |
| 62 › 08 | Chuyen tien | Optional | Bill number / payment description |
| 63 | XXXX | Required | CRC16-CCITT checksum (4 hex chars) |
Account Name Rules: UPPERCASE Without Accents
This is one of the most important aspects of VietQR. The EMV standard encodes the merchant name field in plain ASCII — a character set that does not support Vietnamese diacritical marks (tone marks and special letters like ắ, ệ, ổ, ương, đ, ơ, ư, etc.). Bank systems throughout Vietnam use ASCII-compatible account databases. Account names are therefore stored and transmitted as UPPERCASE Latin characters without any Vietnamese accents. Rule: Convert all Vietnamese characters to their unaccented Latin equivalents and use UPPERCASE. For example: Đ → D, ắ → A, ệ → E, ổ → O, ư → U, ơ → O, ă → A. Tones (sắc, huyền, hỏi, ngã, nặng) are dropped entirely. Example: "Nguyễn Văn An" → "NGUYEN VAN AN".
| ✅ Correct (ASCII) | ❌ Incorrect (Vietnamese) | Note |
|---|---|---|
| NGUYEN VAN AN | Nguyễn Văn An | Common Vietnamese name |
| TRAN THI BICH | Trần Thị Bích | Female name with tone marks |
| LE HOANG LONG | Lê Hoàng Long | Name with circumflex vowels |
| PHAM DUC THANG | Phạm Đức Thắng | Name with đ character |
Supported Apps
All NAPAS-member banks are required to support VietQR in their mobile banking apps. As of 2025, this covers over 50 banks. Major e-wallets have also integrated VietQR scanning. Banking apps: Vietcombank VCB-Mobile, BIDV Smart Banking, Agribank E-Mobile, Techcombank Mobile, MB Bank, VPBank NEO. E-Wallets: MoMo (31M+ users), ZaloPay (VNG), ShopeePay VN. Payment Apps: VNPay. All NAPAS-member bank apps are fully interoperable — scanning a VietQR with any supported app routes the transfer correctly to the destination bank account.
Vietcombank VCB-Mobile
Banking App
BIDV Smart Banking
Banking App
Agribank E-Mobile
Banking App
Techcombank Mobile
Banking App
MB Bank
Banking App
VPBank NEO
Banking App
MoMo
E-Wallet
ZaloPay
E-Wallet
VNPay
Payment App
ShopeePay VN
E-Wallet
VietQR for Merchants
Vietnamese merchants — from street food stalls to large retailers — increasingly use VietQR as their primary payment method. Printed VietQR codes are displayed at counters, tables, and storefronts. Customers scan and pay directly to the merchant's bank account, with no card terminal or payment hardware required. Static QR (no amount): A single printed QR code used repeatedly. Customers enter the amount themselves. Ideal for small shops and street vendors. Dynamic QR (with amount): Generated per transaction with the exact amount embedded. Reduces input errors and supports automatic reconciliation. Used by restaurants, online stores, and businesses needing precise payment matching. Merchants register for VietQR through their bank's merchant onboarding process.
Vietnam's Vision for Cashless Payments
The State Bank of Vietnam (SBV) has set ambitious national targets: at least 80% of adults with a bank account by 2025, and cashless payments representing the majority of retail transactions. VietQR is central to this strategy. Vietnam's QR payment adoption has been remarkably fast — within two years of launch, VietQR was supported by all major banks and processed hundreds of millions of transactions monthly. Vietnam is also integrating into the ASEAN regional QR interoperability framework. Cross-border QR payment linkages with Thailand (PromptPay) have been announced. The e-wallet ecosystem — led by MoMo (31M+ users), ZaloPay (VNG), and VNPay — has amplified VietQR adoption. For businesses operating in or with Vietnam, adopting VietQR is no longer optional — it is increasingly the expected payment method for B2C and B2B transactions.
Ready to generate your VietQR Code?
Free, instant, works with all Vietnamese banking apps.