NPCI QR code generator
Generate a UPI QR code built to NPCI’s published UPI URL specification — the same format banks and UPI apps use. Free, instant, generated in your browser.
NPCI requires extra confirmation in the payer’s app for payments above ₹2,000 to a new payee. This is a security rule, not an error.
Your QR will appear here
Type a UPI ID to start — it’s instantAlways verify the payee name shown in your UPI app before paying.
Works with every UPI app
- GGoogle Pay
- PPhonePe
- PPaytm
- BBHIM
- CCRED
- aAmazon Pay
- WWhatsApp Pay
- MMobiKwik
- SSlice
- $super.money
- FFi
- JJupiter
What people mean by “NPCI QR code”
It is worth clearing this up, because the phrasing suggests a product that does not exist. NPCI does not issue a separate kind of QR code. The National Payments Corporation of India operates UPI and publishes the specification that says how a payment request is encoded as a URL. A “UPI QR code” is nothing more than that URL drawn as a QR image.
So a QR generated here is an NPCI QR code, in the only sense the term has. It encodes:
upi://pay?pa=yourname@okhdfc&pn=Your%20Name&am=500.00&cu=INR
Where the parameters are the ones the specification defines:
pa— payee address, your UPI ID (required)pn— payee name (optional; apps show the verified bank name anyway)am— amount (optional; omit it and the payer chooses)cu— currency, alwaysINRtn— transaction note (optional)tr— transaction reference (optional)
Because every UPI-compliant app parses this same format, a QR built to spec works in BHIM, Google Pay, PhonePe, Paytm, Amazon Pay, CRED and the rest without anything app-specific.
NPCI QR, BharatQR and merchant QR
UPI QR (what this page makes)
Encodes a upi://pay URL. Anyone with a UPI ID can create one, free,
with no registration. Money lands in the linked bank account instantly at 0% MDR.
BharatQR
An interoperable QR that also carries Visa, Mastercard, RuPay and Amex scheme data. Issued to merchants through an acquiring bank — you cannot self-generate one.
Merchant (P2M) QR
A UPI QR tied to a verified merchant account. Shows your business name to payers and skips first-time-payee confirmation. Obtained via a PSP, not generated.
Static vs dynamic
“Static” means no amount — the payer types it. “Dynamic”
means the amount is baked in. Both are the same spec; the only difference is whether
am is present.
Fixed-amount QR codes →
Frequently asked questions
Does NPCI provide its own QR code generator?
NPCI publishes the specification; it does not run a public consumer generator. Banks, UPI apps and independent tools implement the spec. What matters for acceptance is that the encoded URL is correct, not who produced the image.
Is a self-generated QR as valid as one from my bank?
For receiving money into your own account, yes — the payment routes through the same UPI rails either way. The difference is that a bank-issued merchant QR carries verified merchant status, which changes what the payer sees and removes first-time-payee prompts. It does not change whether the payment works.
Why does my payer see a security warning?
Usually one of three NPCI-level checks: a first payment above ₹2,000 to a new payee, a payee name in the QR that does not match the verified bank name (fix: leave the name field blank), or bank-account addressing, which PhonePe and Paytm refuse. None of these indicate a malformed QR.
Where can I read the specification?
NPCI publishes UPI documentation and circulars on npci.org.in. For disputes, use NPCI dispute redressal.
Related tools
UPI QR code generator
The main tool, with the full FAQ and bank-handle reference.
UPI payment link generator
The same payment as a shareable URL rather than an image.
UPI handle directory
Which bank sits behind @okicici, @ybl, @okaxis and the rest.