# EMVCo QR code

> EMVCo QR is the international standard for payment QR codes, defining a tag-length-value payload used by PIX in Brazil, PromptPay in Thailand, QRIS in Indonesia and many others. It has merchant-presented and consumer-presented modes.

Source: https://useqr.app/glossary/emvco-qr · Last reviewed 2026-08-21 · UseQR is free forever, MIT licensed, no signup.

---

## The structure

Every field is `ID` (2 digits) + `length` (2 digits) + `value`, concatenated, with a
CRC16/CCITT-FALSE checksum in field `63`. Nested templates carry scheme-specific data.

Common fields: `00` payload format, `52` merchant category code, `53` currency (ISO 4217),
`58` country, `59` merchant name, `60` merchant city, `62` additional data, `63` CRC.

## Merchant-presented versus consumer-presented

- **MPM** — the merchant displays a code, the customer scans it. The counter standee.
- **CPM** — the customer's app displays a rotating code, the merchant scans it. Used at
  supermarket tills; the code is short-lived by design.

## National profiles built on it

| Country | Scheme |
|---|---|
| Brazil | PIX |
| Thailand | PromptPay |
| Indonesia | QRIS |
| Malaysia | DuitNow |
| Singapore | PayNow / SGQR |
| India | BharatQR (UPI itself uses its own deep-link format) |

Each profile fixes the nested template ids and adds constraints, which is why a PIX code
and a PromptPay code look structurally similar but are not interchangeable.
