# Bharat QR

> Source: https://docs.barcoder.ai/docs/standards/bharat-qr
> research date 2026-05-28 · extracted at 2026-10-06
> Publisher: Barcoder — encyclopedia of QR, barcode and payment-code standards

Specifications:
- [Bharat QR — NPCI Product Overview](https://www.npci.org.in/what-we-do/bharatqr/product-overview)
- [Bharat QR — NPCI FAQs](https://www.npci.org.in/what-we-do/bharatqr/faqs)
- [EMV QR Code Specifications v1.1 — EMVCo](https://www.emvco.com/emv-technologies/qr-codes/)

## 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 <sup>[1][1], [2][2]</sup>. It is **EMVCo QR Code Specification 1.1 compliant**, with Indian extensions added by NPCI <sup>[3][3]</sup>. Public launch was **20 February 2017** (following a pilot phase from September 2016) <sup>[2][2], [4][4]</sup>. 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](https://docs.barcoder.ai/docs/standards/upi-qr) via the same printed QR <sup>[2][2]</sup>.

In practice Bharat QR was substantially overshadowed by [UPI QR](https://docs.barcoder.ai/docs/standards/upi-qr) adoption: as of 2024, **~67 million Bharat QRs deployed vs ~658 million UPI QRs** <sup>[India report](https://docs.barcoder.ai/docs/payments/IN)</sup> — 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 <sup>[2][2]</sup>. The RBI explicitly directed NPCI to develop an interoperable QR code standard as part of this vision <sup>[2][2]</sup>.

**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 <sup>[2][2]</sup>.

**Public launch (20 February 2017)**: Bharat QR went live nationally, with American Express joining NPCI, Visa, and Mastercard as scheme partners <sup>[1][1], [2][2]</sup>. Visa called it the "world's first interoperable QR code payment acceptance solution" in its launch press release <sup>[5][5]</sup>.

**Subsequent evolution**:
- Adoption stalled relative to forecasts as [UPI QR](https://docs.barcoder.ai/docs/standards/upi-qr) took off in 2017–2018, becoming the dominant QR for India's smartphone-using consumers <sup>[India report](https://docs.barcoder.ai/docs/payments/IN)</sup>.
- 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 <sup>[India report](https://docs.barcoder.ai/docs/payments/IN), [6][6]</sup>.

## Technical specification

Bharat QR is an **EMVCo QR Code Specification version 1.1** profile with NPCI-defined Indian extensions <sup>[3][3]</sup>.

**EMVCo MPM v1.1 foundation** <sup>[3][3]</sup>:
- Payload format: **TLV (Tag-Length-Value)** plain-text string
- Integrity: CRC-16/CCITT-FALSE appended as field `63`
- Underlying symbology: [QR Code](https://docs.barcoder.ai/docs/standards/qr-code)
- Currency code: 356 (INR)

**Networks supported in a single QR** <sup>[1][1], [India report](https://docs.barcoder.ai/docs/payments/IN)</sup>:

| 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** <sup>[India report](https://docs.barcoder.ai/docs/payments/IN)</sup>:

| 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** <sup>[1][1]</sup>:
- **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 <sup>[India report](https://docs.barcoder.ai/docs/payments/IN)</sup>.

## 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 <sup>[India report](https://docs.barcoder.ai/docs/payments/IN)</sup>.
- **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 <sup>[5][5]</sup>.
- **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 <sup>[India report](https://docs.barcoder.ai/docs/payments/IN)</sup>.
- **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 <sup>[India report](https://docs.barcoder.ai/docs/payments/IN)</sup>.
- **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) <sup>[India report](https://docs.barcoder.ai/docs/payments/IN)</sup>:
- **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][7] — Java-based EMV QR code generator/parser including v1.1 spec <sup>[7][7]</sup>. 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][1]
- [NPCI Bharat QR FAQs][8] — 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](https://docs.barcoder.ai/docs/standards/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 <sup>[India report](https://docs.barcoder.ai/docs/payments/IN)</sup>.

**vs. [SGQR](https://docs.barcoder.ai/docs/standards/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 <sup>[Singapore report](https://docs.barcoder.ai/docs/payments/SG), [India report](https://docs.barcoder.ai/docs/payments/IN)</sup>.

**vs. [HUB3](https://docs.barcoder.ai/docs/standards/hub3) (Croatia)** — Different lineage entirely. Bharat QR uses EMVCo MPM with multi-network routing in a single payload; HUB3 uses [PDF417](https://docs.barcoder.ai/docs/standards/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** <sup>[2][2]</sup> — the first national standard to encode multiple competing payment-network routings into a single printed QR. Singapore's [SGQR](https://docs.barcoder.ai/docs/standards/sgqr) (2018) and Malaysia's [DuitNow QR](https://docs.barcoder.ai/docs/standards/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 <sup>[2][2], [India report](https://docs.barcoder.ai/docs/payments/IN)</sup>.

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 <sup>[India report](https://docs.barcoder.ai/docs/payments/IN)</sup>.

## Status

**Active but specialised.** Most recent figures:

- **~67 million Bharat QRs deployed** vs ~658 million UPI QRs <sup>[India report](https://docs.barcoder.ai/docs/payments/IN)</sup>
- 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 <sup>[India report](https://docs.barcoder.ai/docs/payments/IN)</sup>
- RBI has signalled interest in unifying India's QR payment ecosystem onto a single EMVCo-aligned standard — periodically reviewed but not yet acted on <sup>[India report](https://docs.barcoder.ai/docs/payments/IN)</sup>

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 <sup>[India report](https://docs.barcoder.ai/docs/payments/IN)</sup>. No deprecation planned, but the trajectory is toward eventual consolidation with UPI QR under a future unified Indian QR standard.

## Sources

[1]: https://www.npci.org.in/what-we-do/bharatqr/product-overview
[2]: https://en.wikipedia.org/wiki/BharatQR
[3]: https://www.emvco.com/emv-technologies/qr-codes/
[4]: https://qrcrack.com/blog/upi-qr-codes-india-npci-specification
[5]: https://www.visa.co.in/about-visa/newsroom/press-releases/bharatqr-worlds-first-interoperable-qr-code-acceptance-solution-launches-in-india.html
[6]: https://www.bajajfinserv.in/bharat-qr-vs-upi
[7]: https://github.com/mvallim/emv-qrcode
[8]: https://www.npci.org.in/what-we-do/bharatqr/faqs
[in-cro]: https://docs.barcoder.ai/docs/payments/IN
[sg-cro]: https://docs.barcoder.ai/docs/payments/SG
[hub3-ref]: https://docs.barcoder.ai/source/standards/hub3

1. [Bharat QR Product Overview — NPCI][1]
2. [BharatQR — Wikipedia][2]
3. [EMV QR Code Specifications — EMVCo][3]
4. [UPI QR Codes — NPCI Specification Guide][4]
5. [BharatQR launch press release — Visa India][5]
6. [Bharat QR vs UPI — Bajaj Finserv][6]
7. [mvallim/emv-qrcode — GitHub][7]
8. [Bharat QR FAQs — NPCI][8]
9. [IN-india.md]<sup>[India report](https://docs.barcoder.ai/docs/payments/IN)</sup>
10. [SG-singapore.md]<sup>[Singapore report](https://docs.barcoder.ai/docs/payments/SG)</sup>

## Deployments

Found in the following country reports (grep across `reports/countries/`):

- **IN** — [IN-india.md](https://docs.barcoder.ai/docs/payments/IN)
