Skip to content
UseQR
ESC

Jump to

MOVEOPEN50 places

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.

View as MarkdownPaste this page into any AI assistant. It is plain, portable Markdown.

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