Payments
PIX vs UPI — the two giant instant-payment QR systems compared
PIX and UPI both settle instantly and cost individuals nothing, but differ architecturally — PIX encodes an EMVCo tag-length-value string with a CRC16 checksum, run by the Banco Central do Brasil since 2020; UPI encodes a upi://pay deep link, run by India's NPCI since 2016. Neither system can read the other's codes.
Side by side
| UPI | PIX | |
|---|---|---|
| Country | India | Brazil |
| Operator | NPCI (National Payments Corporation of India) | Banco Central do Brasil |
| Launched | April 2016 | November 2020 |
| Payload | upi://pay?... URI deep link |
EMVCo TLV string ("BR Code") |
| Checksum | None | CRC16/CCITT-FALSE in field 63 |
| Identifier | VPA — name@bank |
PIX key — CPF/CNPJ, email, phone, or random EVP |
| Text fallback | The VPA or URI itself | Copia e cola (the full string) |
| Cost to individuals | Free | Free |
| Settlement | Instant, 24/7 | Instant, 24/7 |
The details of each format live on the UPI format page and the PIX format page; this page is about the comparison.
The architectural difference
The interesting split is not the countries — it is the payload philosophy.
UPI chose a URI. upi://pay?pa=shop@bank&pn=Shop is an ordinary deep link. The
operating system routes it to any app registered for the upi: scheme, exactly as an
https: link opens a browser. That bought UPI instant multi-app interoperability almost for
free: any new UPI app works with every existing code the day it registers the scheme. The
cost is that a URI has no integrity check — there is no checksum, and a mangled code simply
fails or, worse, half-parses.
PIX chose a structured record. The EMVCo TLV format is a self-describing binary-ish string: typed fields, explicit lengths, and a CRC16 sealing the whole payload. Apps must implement a parser rather than lean on OS deep-linking, but the payload validates itself — corruption is detected, and the format extends cleanly through nested templates. It also gave Brazil copia e cola, the copy-paste twin that solves paying a code shown on your own phone.
Neither is simply better. UPI's URI is human-legible and trivially generated; PIX's TLV is robust and strictly specified. Both formats are open enough that this site's builders (UPI, PIX) implement them from the public specs, client-side.
What they share — and what each got right
Both are the same model executed well: central-bank-backed, bank-led, instant, free for individuals, addressed by an alias rather than an account number, and merchant-presented — the payer always scans, sees a name, and confirms. Both now process volumes that make them among the most used instant-payment systems in the world, and both made the QR code — not the card terminal — the default acceptance hardware for small commerce.
Each contributed an idea worth copying:
- UPI: one alias namespace (
name@bank) portable across every app, and a URI format so simple a market trader's laminated card participates in the same system as an enterprise. - PIX: the rotatable random key (privacy on printed codes — see PIX key types), the payload checksum, and copia e cola.
The lesson other markets took
A single mandated standard beats competing proprietary codes. Indonesia's QRIS made the same bet explicitly, and the wider comparison shows most national schemes since have chosen the EMVCo path — PIX's family, not UPI's — largely because EMVCo offered a ready-made international base spec to profile.
FAQ
Can a UPI app read a PIX code, or vice versa?
No. UPI codes are upi:// deep links and PIX codes are EMVCo TLV strings — structurally unrelated formats on unconnected national rails. Cross-border linkages between instant payment systems exist, but they are bilateral integrations, not format compatibility.
Which is bigger, UPI or PIX?
UPI processes more transactions, serving a far larger population and having a four-year head start. Both are among the highest-volume instant-payment systems in the world; exact monthly figures are published by NPCI and the Banco Central do Brasil respectively.
Why does PIX have a checksum but UPI does not?
PIX inherited the CRC16 from the EMVCo merchant-presented specification it profiles. UPI's payload is a plain URI, a format with no integrity field — validation happens at the parameter level in the app instead.
Are PIX and UPI free to use?
For individuals, yes — sending and receiving cost nothing on both systems. Merchant pricing differs: PIX allows banks and PSPs to charge business accounts to receive, and UPI merchant economics are set by Indian regulation and PSP agreements.
Try it — free, no signup
Related
- QR payment standards compared: UPI, PIX, EPC, EMVCo — UPI uses its own upi:// deep link; PIX, PromptPay, QRIS, DuitNow and PayNow are all EMVCo tag-length-value profiles; EPC uses a twelve-line text block.…
- The PIX QR code format: EMV BR Code explained — A PIX QR code is an EMVCo BR Code: tag-length-value fields ending in a CRC16/CCITT-FALSE checksum. The same string is also copia e cola, which people…
- The UPI QR code format, parameter by parameter — A UPI QR code is a upi://pay deep link. pa (the VPA) and pn (payee name) are required; am, cu, tn, tr, mc and mode are optional. NPCI standardised it, so…
- QRIS in Indonesia — the strongest case for one national QR standard — Since January 2020 every payment QR in Indonesia must be QRIS. One code, every wallet and bank app, nationally set merchant fees — the unification story.