# 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.

Source: https://useqr.app/docs/payments/pix-vs-upi-compared · Last reviewed 2026-08-21 · UseQR is free forever, no signup.

---

## 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](/docs/payments/upi-qr-code-format) and the
[PIX format page](/docs/payments/pix-qr-code-format); 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](/docs/payments/emvco-merchant-presented-qr) is a self-describing binary-ish string:
typed fields, explicit lengths, and a [CRC16](/docs/payments/pix-crc16-checksum) 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](/docs/payments/pix-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](/upi), [PIX](/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](/docs/payments/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](/docs/payments/qris-indonesia) made the same bet explicitly, and the
[wider comparison](/docs/payments/qr-payment-standards-compared) 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

- https://useqr.app/pix
- https://useqr.app/upi
- https://useqr.app/validate
