Free VietQR Generator Online

Create VietQR / NAPAS 247 bank transfer QR codes with bank, account, amount and transfer note as PNG, SVG or JSON payload. Decode existing VietQR codes.

Free tool: 20 requests per minute.

Result

Press “Run” to see the result.

The VietQR API builds the standard EMVCo / NAPAS payload that every Vietnamese banking app scans: pick the bank (bank=VCB, TCB, MB, a bank name or its 6-digit NAPAS BIN), the account number, an optional amount in VND and a transfer note. You get a PNG image by default, an SVG with format=svg, or with format=json the raw payload string, the bank details and both images in one response. Size, colours, margin and error correction work like the QR Code API.

The payload is a dynamic QR (01=12) when an amount is set and a static one otherwise. Field 63 carries the CRC-16/CCITT checksum required by the specification. Vietnamese accents in the note are converted to plain ASCII (banks do not carry them reliably) and the original text is returned so you can see the change; keep notes under 25 characters, as some banks cut the rest.

GET /v1/vietqr/banks returns the supported banks and e-wallets with their codes and BINs. action=decode&payload=… parses an existing VietQR string: bank, account, amount, note and whether the checksum is valid – handy to check what a printed code really contains.

Use this in your code

curl "https://apibox.io.vn/v1/vietqr?bank=VCB&account=0123456789&amount=150000&content=Thanh%20toan%20don%20ABX1234&format=json" \
  -H "Authorization: Bearer YOUR_API_KEY"

API documentation → Get a free API key

FAQ

Does this move money or need a bank contract?

No. The API only builds the QR code that the payer’s banking app reads. The transfer itself happens between the banks through NAPAS 247; to be notified of incoming payments you need your bank’s API or a service such as SePay or Casso.

Which banks are supported?

All banks of the NAPAS 247 network. /v1/vietqr/banks lists about 50 banks and e-wallets with their codes; if a bank is missing you can pass its 6-digit BIN directly in bank.

Why was my Vietnamese transfer note changed?

Bank transfer notes are reliably carried as ASCII only, so accents are removed (“Thanh toán đơn” becomes “Thanh toan don”) and symbols are replaced by spaces. The response shows both the original and the encoded note.