UPI QR Code Generator
Create a UPI payment QR code from your UPI ID — works with GPay, PhonePe, Paytm and every UPI app.
Leave blank to let the payer enter the amount.
That looks like a UPI ID. A text QR of a UPI ID will not open the payment screen — use the UPI QR Code Generator to create a scannable payment QR.
Your QR code is ready
Download PNG
Test by scanning from inside GPay or PhonePe (their scan button) — phone cameras and Google Lens show UPI links as plain text instead of opening payment.
Was this tool helpful?
Thanks for the feedback!
The UPI QR Code Generator turns your UPI ID into a payment QR code that Google Pay, PhonePe, Paytm, BHIM and bank UPI apps can scan, with an optional fixed amount and note. Shopkeepers, tutors, freelancers and anyone collecting money from a group can print it, add it to a bill or share it as an image. The code is created in your browser, and any payment made with it goes directly from the payer's UPI app to your bank account.
Making your code
- UPI ID (VPA): the address you receive money on, such as
yourname@okhdfcbankor9876543210@ybl. Spaces and any characters other than letters, digits, dots, hyphens, underscores and @ are removed. - Payee name: the name the payer sees. If you leave it empty, the code uses the word "Payee".
- Amount (₹, optional): leave it blank so the payer types the amount, or fill it to set one. It is written with two decimals, so 499 becomes 499.00.
- Note (optional): a short reference, such as a bill or flat number.
- Size: Small, Medium, Large or Extra large, with Medium as the default.
The code redraws a moment after you stop typing, or you can press Generate QR Code. Below it you get Download PNG, Copy image, an Open in UPI app link for testing on a phone, and the full payment link as text so you can check exactly what was encoded.
What the QR code contains
A UPI QR code is an ordinary QR code holding a upi://pay link with a few named parameters. These are the ones this tool writes, and Google lists the same names in its UPI intent documentation:
| Parameter | Meaning | Example value |
|---|---|---|
pa | Payee address (UPI ID) | sharmastore@okicici |
pn | Payee name | Sharma General Store |
am | Amount in rupees | 499.00 |
tn | Transaction note | Order #102 |
cu | Currency | INR, always |
To check the output, we generated a code for sharmastore@okicici, named "Sharma General Store", with ₹499 and the note "Order #102", then decoded the downloaded image with an independent QR reader. It read back exactly:
upi://pay?pa=sharmastore@okicici&pn=Sharma%20General%20Store&am=499.00&tn=Order%20%23102&cu=INR
Spaces become %20 and the # becomes %23, the standard way to write those characters inside a link, so the note decodes back to "Order #102". Four characters, &, =, ? and %, are turned into spaces in the note because they would break the link's structure; the payee name also loses any #. The UPI ID itself is left as typed, with a plain @ rather than %40, and the text preview under the code lets you confirm that.
Fixed amount or open amount
An open code, with the amount blank, suits a shop counter, a tiffin service or a housing society's maintenance desk, where every payment differs. A fixed amount suits a single bill. A code for rent.anil@oksbi with ₹12,500 and the note "Rent Oct 2026" opens the payer's app with that sum filled in, so nobody types 1,250 by mistake. Make a fresh code for each fixed-amount bill rather than reusing an old one. If you bill clients, put your UPI ID in the notes of the invoice generator and send the QR image with the PDF.
Test it before you print or share
- Scan with the scanner inside a UPI app. Phone camera apps and Google Lens usually show a UPI link as plain text instead of opening a payment screen.
- Check that the payment screen shows the right name and amount, then pay yourself ₹1 from another account and confirm it lands in the bank you expect.
- Keep the white border. The downloaded PNG includes a blank margin four squares wide on every side, the quiet zone scanners rely on to find the pattern, so don't crop it off when placing the code on coloured paper or inside a design.
- Print your name and UPI ID in text under the code so customers can compare them with what their app shows.
- Print it large enough to scan from where customers will stand, and test-scan the printed copy, not just the screen.
Safety and limits
- Receiving money never needs your UPI PIN. Anyone who asks you to scan a code or enter your PIN so that you can "receive" money is attempting fraud.
- Confirm payments in your own app. A screenshot from the payer can be faked; the credit in your bank or UPI app history is the proof.
- Your code reveals your UPI ID and name. If the ID is your mobile number, anyone who scans it can see the number, so use a name-based UPI ID for public codes if your app lets you create one.
- This is not a merchant account. It gives you no sound box, no settlement reports and no alerts beyond your bank's usual messages.
- The tool does not verify your ID. It only checks that an @ is present, so a typo produces a code that fails or points elsewhere; the ₹1 test payment catches this.
- Look at printed codes now and then. Pasting a different QR sticker over a shop's own code is a known trick.