UPI QR Generator
Generate a UPI payment QR code for your business or personal payments — compatible with GPay, PhonePe, Paytm, and all UPI apps.
Did this tool work for you?
How to use this calculator
- 1
Enter your UPI ID (VPA) — for example yourname@oksbi or shop@paytm.
- 2
Add your name or business name so payers see it in their UPI app.
- 3
Set a fixed amount if you want a payment-specific QR, or leave blank to allow any amount.
- 4
Download the QR and display it at your counter, invoice, or website.
Frequently asked questions
What does the UPI QR code actually contain?
A upi://pay deep link made of query parameters. For UPI ID shop@okaxis, payee Sharma Sweets, amount 250 and note "Order 42" it is upi://pay?pa=shop%40okaxis&pn=Sharma%20Sweets&am=250&cu=INR&tn=Order%2042. The keys are pa (payee address), pn (payee name), am (amount), cu (currency) and tn (note).
Why is the @ in my UPI ID shown as %40?
The ID is passed through percent-encoding, which turns @ into %40. This is the same character in encoded form, and the payee name and note are encoded the same way. The tool does not offer an option to leave the @ unencoded.
What does it do with an invalid UPI ID?
An ID without an @ sign, such as jane, produces no QR code at all instead of a broken one. Beyond the presence of an @ the ID is not checked, so a typo in the handle or the bank part still generates a code. The tool cannot tell whether the ID exists.
Which amounts are accepted?
Digits with at most two decimal places and a value above zero, for example 250 or 99.5. Anything else is dropped without a warning and the QR is built with no amount: 0, -5, 1,000, 12.345 and 1e3 all behave that way. When an amount is accepted the tool adds cu=INR; without one there is no cu parameter.
Are the payee name and note required?
No. Only the UPI ID is required. A blank name or note simply leaves out pn or tn. Both are percent-encoded, so "Café & Co" becomes Caf%C3%A9%20%26%20Co. The tool applies no length limit, so keep the note short and check it on your phone.
Can this code pull money from my account?
The code only carries the details shown above: your UPI ID, and optionally a name, amount and note. Anyone who scans it can see that ID. What a scanning app does with it is up to that app, so always confirm the payee name and amount on its confirmation screen.
Should I put an amount in a shop counter code?
It depends on your use. A code with no amount leaves the figure for the payer to type. A code with an amount is suited to a single invoice or fixed price, and should be regenerated for each different sum. Whichever you choose, scan it yourself and compare every field before printing.
How the UPI QR payload is built
The upi://pay link and its parameters
Instead of a web address, a UPI code carries a deep link beginning upi://pay. Every detail after the question mark is a key=value pair joined by ampersands, and the tool adds only the pairs you have filled in. The UPI ID is mandatory; everything else is optional. Values are percent-encoded so that spaces and symbols cannot break the link.
| Key | Meaning | Written when |
|---|---|---|
| pa | Payee address (UPI ID) | Always, if the ID contains @ |
| pn | Payee name | Payee name field not blank |
| am | Amount, as typed | Valid amount above zero |
| cu | Currency, fixed to INR | Only together with am |
| tn | Transaction note | Note field not blank |
Worked examples
A full code: UPI ID shop@okaxis, name Sharma Sweets, amount 250, note Order 42 gives upi://pay?pa=shop%40okaxis&pn=Sharma%20Sweets&am=250&cu=INR&tn=Order%2042. An open-amount code: UPI ID jane@upi alone gives upi://pay?pa=jane%40upi. Adding name "Café & Co" and amount 99.5 to that ID gives upi://pay?pa=jane%40upi&pn=Caf%C3%A9%20%26%20Co&am=99.5&cu=INR.
Check every field before you share it
A UPI QR code is only as correct as the characters typed into it. The tool confirms that an @ is present and that the amount is a sensible figure, and nothing more. It does not look up the ID, so a wrong letter produces a working-looking code that points to the wrong person. Scan your own printed or on-screen code with a payment app, read the payee name it shows, and compare the amount with what you meant to charge.
Reading the amount rules
Amounts are matched against a strict pattern, whole rupees or up to two decimals. That rejects values with commas, exponent notation and a third decimal place. Rejection is silent: the code is still produced, only without am and cu, so the payer would see an empty amount. If your code is supposed to carry a figure, look for am= in the address shown below the QR. If it is missing, correct the amount field and generate again. Print the finished code at a size you can scan from a normal counter distance, and keep a copy of the address text for your records.
What this tool does not do
It does not register a merchant, create a bank-issued merchant code, verify an ID, reconcile payments or track who paid. It also has no field for a transaction reference or any currency other than INR.
Learn more from an authoritative source:
WikipediaMenu QR Generator
Generate a QR code that links to your digital menu — perfect for restaurants, cafés, and food trucks.
Instagram QR Generator
Generate a QR code that opens your Instagram profile instantly — for packaging, flyers, events, and more.
YouTube QR Generator
Generate a QR code that opens your YouTube channel or a specific video — great for print, packaging, and events.
Google Maps QR Generator
Generate a QR code that opens your business location in Google Maps — for cards, flyers, and storefronts.
PDF QR Generator
Generate a QR code that links directly to a hosted PDF — scan to open, read, or download the document instantly.
App Download QR Generator
Generate a QR code that links to your app on the App Store or Google Play — scan to download instantly.
Results are estimates for informational purposes only and do not constitute professional financial, medical, legal, or technical advice. Read full disclaimer →