UPI QR Code Generator
NPCI-compliant UPI QR — static / dynamic / print-ready A4 poster
Generate a UPI payment QR from any UPI ID — works with Google Pay, PhonePe, Paytm, BHIM, Amazon Pay, and every bank app with UPI support. Choose Static (payer enters amount) or Dynamic (fixed amount baked in for invoices). Export as PNG, SVG, or a print-ready A4 poster with your business name and a printed UPI-ID fallback. Searchable MCC dropdown for business accounts. VPA syntax validation. PII detection on transaction notes. Recent VPAs cached locally for one-tap reuse. No signup, no logs, no API keys — runs entirely in your browser.
Your Virtual Payment Address — usually name@bank or phone@psp.
Shown to the payer in their UPI app. Strongly recommended for trust.
Visible to the payer — don't include personal info like phone numbers or Aadhaar.
Advanced (MCC, transaction IDs, URL)
Identifies your business type. Leave blank for personal payments.
Optional floor for static mode — useful for donations.
A UPI ID (VPA) is required.
Live QR preview
Enter a valid UPI ID to preview the QR
QR style
#000000#ffffffHigher level = QR survives more scratches / smudges but produces denser pattern. Use H for posters that may get damaged.
Embed on a website
Copy this HTML and paste it on any site. The QR is rendered by a free third-party endpoint (api.qrserver.com) so you don't have to host it yourself.
How people use this
Counter QR for a small shop
Donation jar
Invoice payment
Side-hustle / freelance
School fee / college dues
Pop-up event ticket
Related tools
What is a UPI QR code?
UPI (Unified Payments Interface) is India's real-time payment system, operated by NPCI. A UPI QR code is just a QR-encoded upi://pay?… URL that tells any UPI-enabled app who to pay, optionally how much, and what to label the transaction. Standard since 2016, accepted by every Indian bank with UPI support and every fintech wallet (Google Pay, PhonePe, Paytm, BHIM, Amazon Pay, WhatsApp Pay, etc.).
The QR works because every UPI app implements the same upi:// URL handler. Scanning a QR is the same as tapping a deep-link — the app reads the parameters, opens its payment screen pre-filled, and waits for the user to confirm. Nothing in the QR is encrypted— the payment is authorized by the payer's UPI PIN at confirmation time, not by anything in the code.
Static vs Dynamic — which to pick
Static: same QR for everyone, customer enters the amount at scan time. Print once, use forever. Cheaper for shops, simpler for tips and donations.
Dynamic: QR includes a fixed amount baked in. Customer just confirms. Best for invoices, fixed-price products, and event tickets.
Most small shops use static. Most e-commerce systems generate a fresh dynamic QR per order. The picker above the form lets you switch.
Will every UPI app accept this?
Yes — the generated QR follows NPCI's standard upi://pay URL spec. Tested with:
- Google Pay (Tez)
- PhonePe
- Paytm
- BHIM
- Amazon Pay UPI
- WhatsApp Pay
- Every bank app with UPI support (SBI YONO, HDFC, ICICI, Axis, Kotak, …)
Designing a poster for print
- Error correction Q or H — survives smudges, ink runs, partial damage. Use H if the QR will be exposed to weather.
- 1024 px size on the QR — keeps it crisp at full A4 size.
- Print at 100% scale — never "Fit to page" — that scales the QR unpredictably.
- Black on white — best contrast. Coloured QRs scan slightly slower; reserve them for marketing collateral.
- Print the UPI ID below the QR (we do this on the poster) — gives customers a fallback if the camera struggles.
Security notes
- The QR is not a request for money from you. Someone who scans your QR pays you, not the other way around.
- Anyone who has the QR can identify your UPI ID — that's by design, but treat it like a phone number, not a password.
- The transaction note is visible to whoever scans. Never put PII (phone, Aadhaar, OTP, password) there.
- If you receive a payment for an unfamiliar amount, ignore it until you can verify the source. Scammers sometimes deliberately overpay then ask you to "refund the difference".
- You'll never need to enter your UPI PIN to receive a payment. If a website asks for it on the receiver side, it's a scam.
How this tool handles your data
All processing runs in your browser. The UPI string is built with a few lines of JavaScript; the QR is rendered locally by the qrcode library. Nothing is sent to our server.
The Recent VPAs shortcut keeps your last five UPI IDs in localStorage — only on your device, never synced. Clear it any time with the × button next to the list.
The Embed HTML snippet uses api.qrserver.comto render the QR — that's a free no-key service. If you'd rather self-host, replace the URL in the snippet with your own image endpoint.
Don't see what you need? Themes, MCC codes, output sizes, currency — request anything via /request-tool.
Frequently Asked Questions
What a UPI QR is, static vs dynamic, why we lock to INR, MCC codes, transaction limits, print recommendations, and security notes.