Standards/bharat-qr
Bharat QR
Overview
Bharat QR is India's interoperable card-network QR payment standard, jointly developed by the National Payments Corporation of India (NPCI), Visa, Mastercard, and American Express [1, 2]. It is EMVCo QR Code Specification 1.1 compliant, with Indian extensions added by NPCI [3]. Public launch was 20 February 2017 (following a pilot phase from September 2016) [2, 4]. It was promoted as the world's first interoperable QR code payment acceptance solution — supporting payment from any card scheme (RuPay, Visa, Mastercard, Amex) and from upi-qr via the same printed QR [2].
In practice Bharat QR was substantially overshadowed by upi-qr adoption: as of 2024, ~67 million Bharat QRs deployed vs ~658 million UPI QRs IN — a 10:1 gap that reflects UPI's lower friction (no card-network rail required) rather than any technical limitation of Bharat QR.
History
Background (2014–2016): The Reserve Bank of India's Payments Vision 2018 framework, issued in 2016, set three pillars for India's transition to a less-cash society: innovation, interoperability, and security [2]. The RBI explicitly directed NPCI to develop an interoperable QR code standard as part of this vision [2].
Pilot (September 2016): NPCI, working with Visa and Mastercard, ran an initial Bharat QR pilot under RBI direction. The pilot validated cross-network QR-based card payments — a Visa cardholder paying a merchant who accepted Mastercard, via the same QR — which no other country had previously achieved at scale [2].
Public launch (20 February 2017): Bharat QR went live nationally, with American Express joining NPCI, Visa, and Mastercard as scheme partners [1, 2]. Visa called it the "world's first interoperable QR code payment acceptance solution" in its launch press release [5].
Subsequent evolution:
- Adoption stalled relative to forecasts as upi-qr took off in 2017–2018, becoming the dominant QR for India's smartphone-using consumers IN.
- NPCI's later strategy was to position Bharat QR as the card-network-bridge complement to UPI QR rather than a competitor. Most modern Indian merchant QRs are dual: a printed sticker carries a Bharat QR for card-network customers AND a UPI VPA for UPI app users [in-cro, 6].
Technical specification
Bharat QR is an EMVCo QR Code Specification version 1.1 profile with NPCI-defined Indian extensions [3].
EMVCo MPM v1.1 foundation [3]:
- Payload format: TLV (Tag-Length-Value) plain-text string
- Integrity: CRC-16/CCITT-FALSE appended as field
63 - Underlying symbology: qr-code
- Currency code: 356 (INR)
Networks supported in a single QR [1, in-cro]:
| Network | Coverage |
|---|---|
| RuPay | NPCI's domestic card scheme |
| Visa | Global |
| Mastercard | Global |
| American Express | Global |
| UPI (via concurrent VPA field) | NPCI |
Bharat QR data fields IN:
| Field | Description | Required |
|---|---|---|
| Merchant ID | Unique identifier | Yes |
| Account | Bank account / VPA | Yes |
| Amount | Transaction value | Optional |
| Reference | Transaction ID | Optional |
| Networks | List of supported schemes | Yes |
| Bank IFSC | (Within merchant-account-information template) | Yes |
Modes [1]:
- Static Bharat QR — fixed printed QR with merchant identification only.
- Dynamic Bharat QR — server-generated per transaction with amount embedded.
Settlement routes through the underlying card network (RuPay/Visa/Mastercard/Amex), which means Bharat QR carries the same MDR and settlement-day characteristics as card payments IN.
Use cases
Bharat QR is most useful where cross-network card acceptance matters more than UPI's instant zero-MDR model:
- International tourist acceptance — a non-Indian Visa/Mastercard cardholder cannot pay via UPI but can scan Bharat QR if the merchant displays it IN.
- Card-rewards-focused customers — domestic Indian customers paying with credit cards for the rewards/cashback continue using card networks rather than UPI; Bharat QR offers a QR-form-factor for card payment [5].
- Merchants who want a single QR sticker that covers both card-network and UPI customers — though most merchants now display printed QR stickers that combine Bharat QR and a UPI VPA so either path works IN.
- Merchants who do not (yet) accept UPI — large legacy retail chains and hotels whose POS systems are integrated with card-acquirer networks but not directly with NPCI's UPI rails IN.
- Bank-issued mobile banking apps that historically supported card-network rails before adding UPI — Bharat QR was their first interoperable QR offering.
Implementations
Bharat QR is implemented by bank acquirers under NPCI licence — direct integration goes through bank or payment-gateway APIs rather than open-source libraries.
Production bank apps (canonical implementations) IN:
- HDFC Bank, ICICI Bank, SBI YONO, Axis Bank, Kotak — all major bank apps both generate and accept Bharat QR.
- PhonePe, Google Pay, Paytm, BHIM — major UPI apps also accept Bharat QR (because the standard is EMVCo TLV, which their parsers handle).
General EMVCo MPM libraries can read Bharat QR payloads:
- Java — mvallim/emv-qrcode — Java-based EMV QR code generator/parser including v1.1 spec [7]. Compatible with Bharat QR's TLV layout.
- JavaScript — most general EMVCo TLV libraries handle Bharat QR with the appropriate Indian merchant-account-information template handling.
Standards / API references:
- NPCI Bharat QR product overview
- NPCI Bharat QR FAQs — schema and merchant-onboarding guidance.
The open-source ecosystem for Bharat QR specifically is thin because (a) production integration is acquirer-mediated, (b) UPI QR has eaten the open-source mindshare on the Indian side.
Comparison
vs. upi-qr (same country, parallel standard) — This is the defining comparison.
| Dimension | Bharat QR | UPI QR |
|---|---|---|
| Operator | NPCI + Visa + Mastercard + Amex | NPCI |
| Wire format | EMVCo TLV | upi://pay?... URL deep link |
| Settlement rail | Card networks | UPI (NPCI direct) |
| Merchant fee | Card-network MDR (~1–3 %) | Zero (under ₹2 000), <1 % above |
| Interoperability | Card networks (Visa/MC/Amex/RuPay) | Any UPI app |
| Card support | Yes | No |
| Foreign tourist usable | Yes (international cards) | Limited (cross-border UPI bridges only) |
| QRs deployed | ~67 M | ~658 M |
| Adoption trajectory | Stalled / niche | Dominant |
UPI QR won the volume war; Bharat QR retained the role of the cross-card-network bridge for use cases where international card acceptance matters IN.
vs. sgqr (Singapore) — Both are EMVCo MPM based interoperable QR standards. SGQR is broader in scope (multi-scheme including e-wallets); Bharat QR is narrower (card networks + UPI). SGQR became the universal Singapore QR; Bharat QR became the card-rails-on-QR companion to UPI [sg-cro, in-cro].
vs. hub3 (Croatia) — Different lineage entirely. Bharat QR uses EMVCo MPM with multi-network routing in a single payload; HUB3 uses pdf417 with single-issuer payment slip data [hub3-ref]. No technical overlap.
Fun facts
Bharat QR was the world's first interoperable QR code payment acceptance solution [2] — the first national standard to encode multiple competing payment-network routings into a single printed QR. Singapore's sgqr (2018) and Malaysia's duitnow-qr (2019) followed the same pattern; Bharat QR pre-dated them by 1–2 years.
The standard was developed during the period of RBI's "Demonetisation" push (late 2016 — when ₹500 and ₹1 000 notes were withdrawn from circulation), which created enormous demand for non-cash payment alternatives. Both Bharat QR (Feb 2017) and UPI's rapid uptake (mid-2017 onwards) benefited directly [2, in-cro].
Bharat QR's strategic role inverted within five years of launch: from "the standard" for India's QR payments (2017 vision) to "the card-network bridge complementing UPI" (2022 onwards). The 67M vs 658M deployment gap shows this — but Bharat QR isn't dead; it's specialised IN.
Status
Active but specialised. Most recent figures:
- ~67 million Bharat QRs deployed vs ~658 million UPI QRs IN
- All major Indian banks continue to issue and accept Bharat QR
- Most merchant QR stickers in India now carry both Bharat QR (EMVCo TLV) and UPI VPA (
upi://pay?...) so any payer app works IN - RBI has signalled interest in unifying India's QR payment ecosystem onto a single EMVCo-aligned standard — periodically reviewed but not yet acted on IN
Bharat QR's continued relevance is anchored in foreign-tourist payment acceptance (which UPI cross-border integrations are gradually displacing as more countries join UPI's bilateral network) and card-rewards customers whose value comes from the underlying credit-card payment rail IN. No deprecation planned, but the trajectory is toward eventual consolidation with UPI QR under a future unified Indian QR standard.
Sources
- Bharat QR Product Overview — NPCI
- BharatQR — Wikipedia
- EMV QR Code Specifications — EMVCo
- UPI QR Codes — NPCI Specification Guide
- BharatQR launch press release — Visa India
- Bharat QR vs UPI — Bajaj Finserv
- mvallim/emv-qrcode — GitHub
- Bharat QR FAQs — NPCI
- IN-india.md
- SG-singapore.md
Deployments
Found in the following country reports (grep across reports/countries/):
- IN — IN-india.md