UPI QR Code Generator (with Amount & Note)
Payment details
Amount is pre-filled — a dynamic QR
A shop logo, placed with a white border like a branded QR.
Your QR code
Enter a valid UPI ID and payee name on the left — your QR code appears here as you type.
What is a Dynamic UPI QR Code?
A static QR encodes only the payee — the person paying types in the amount themselves, which is why the same printed code works for a tip jar or a shop with variable prices. A dynamic QR also encodes a fixed amount (the am parameter below), so the payer's app opens straight to a confirm-and-pay screen with the number already filled in — better for a specific invoice, bill, or checkout total. The Fixed/Any Amount toggle above switches between the two; everything else about the QR stays the same.
One QR works across every UPI app because UPI is a single interoperable network run by NPCI (the National Payments Corporation of India) — Google Pay, PhonePe, Paytm, and BHIM are all clients of the same network, not separate payment systems. A QR built to the standard upi://pay format is readable by any of them.
How the UPI QR Format Works
Scanning this tool's QR decodes to a upi://pay link built from these parameters:
| Param | Meaning | Required? |
|---|---|---|
| pa | Payee address — your UPI ID (VPA) | Always |
| pn | Payee name, shown to the payer | Always |
| am | Fixed amount — present only on a dynamic QR | Only if Fixed Amount is on |
| cu | Currency — always INR when am is present | With am |
| tn | Transaction note / purpose, shown in the payer’s app | Optional |
| tr | This tool’s own tracking reference, for your records | Always (auto-generated) |
| mc | Merchant category code — 0000 for a personal/unregistered collection | Always |
Checked against the live NPCI intent spec as of 27 August 2026.
How to Generate a UPI QR Code
- Enter your UPI ID and payee name — the QR appears the moment both are valid.
- Choose Fixed Amount for a specific invoice or bill, or Any Amount for a code you'll reuse (a tip jar, a shop counter).
- Download the size and format you need — PNG for a screen, SVG for reprinting sharp at any size, or the PDF for a print-ready counter card.
Common UPI Handles
The part after @ in a UPI ID identifies the bank or app it routes through — this is a reference list, not a live directory (a handle can be reassigned, and this covers common ones, not all 200+ registered with NPCI).
| Handle | Bank / App |
|---|---|
| @okaxis | Google Pay (Axis Bank) |
| @okhdfcbank | Google Pay (HDFC Bank) |
| @okicici | Google Pay (ICICI Bank) |
| @oksbi | Google Pay (SBI) |
| @ybl | PhonePe (Yes Bank) |
| @ibl | PhonePe (ICICI Bank) |
| @axl | PhonePe (Axis Bank) |
| @paytm | Paytm Payments Bank |
| @upi | BHIM / generic UPI |
| @apl | Amazon Pay |
| @axisbank | Axis Bank (direct) |
| @sbi | State Bank of India (direct) |
For Spreadsheets and Developers
Bulk mode: Google Sheets
Generating many QRs from a list? This is the parameter shape a custom Sheets formula would need — illustrative only, there's no ready-made add-on behind it.
=UPI("yourid@upi", "Your Name", "", "")API pattern (for devs)
The parameter order a server-side generator would typically expose — this tool has no backend, so this path doesn't resolve anywhere; it documents the shape only.
/api/getqr/Your%20Name/yourid@upi/Read the guide
Frequently Asked Questions
Is this UPI QR code generator free?
Yes, completely free with no signup, no watermark, and no limit on how many QR codes you generate. Everything runs in your browser — there is no account or paid tier for this tool.
Does one QR code work for Google Pay, PhonePe, and Paytm?
Yes. UPI is a single interoperable network run by NPCI, not separate systems per app — a standard upi://pay QR encodes the payee, amount, and note in a format every UPI app reads the same way, so one code works across GPay, PhonePe, Paytm, BHIM, and any other UPI app.
What do pa, pn, and am mean in a UPI link?
"pa" is the payee address — your UPI ID (VPA), like name@bank. "pn" is the payee name, shown to whoever scans the code. "am" is the amount — present only on a dynamic QR with a fixed amount; leave it out and the payer enters their own amount (a static QR).
Is my UPI ID safe here? Do you store it?
Nothing you type is ever sent to a server — the QR is built and rendered entirely on your device, and closing the tab clears it. If you want to check whether a UPI ID or QR (yours or someone else's) shows warning signs of a scam before you pay or share it, use the UPI ID & QR Code Safety Checker.
How do I create a QR with a fixed amount instead of a blank one?
Switch the amount toggle to "Fixed Amount" and enter the value — that produces a dynamic QR with the amount pre-filled in the payer's app, so they only need to confirm and pay. Leave it on "Any Amount" for a static QR the payer fills in themselves, useful for tip jars or variable-price counters.
Building someone else's QR, or one that was sent to you?
This tool only builds a QR — it doesn't tell you whether a UPI ID or QR is trustworthy. For that, use the UPI ID & QR Code Safety Checker before you pay.