Make a QR Code for Your UPI ID
Build the upi://pay link from your UPI ID - with an amount if you want one preset - style the code, and download it print-ready for a counter card, a stall sign, or an invoice.
Opens in Google Maps. Coordinates work too - "37.4224, -122.0841".
The code opens your business's "Write a review" form. Paste the Place ID, or a Google Maps link that carries one.
A UPI link carries no checksum, so a mistyped ID produces a code that scans perfectly and pays somebody else. Paste the ID from your payment app rather than typing it, and send yourself one rupee before printing.
Paste it exactly as copied. KoloQR does not assemble the payload - it encodes the one your bank issued, and checks it before you print it.
SVG, PNG, JPG • Max 2 MB
What Is a UPI QR Code?
A UPI QR code is a QR code that stores a upi://pay link - the deep link defined by NPCI for the Unified Payments Interface. Scanning it in an Indian payment app opens a transfer already addressed to your UPI ID, with the amount filled in if the link carries one. The code holds a link, never your bank account number and never your PIN.

The Link Is Made of Named Parameters
A UPI link is an ordinary URI with query parameters, which is why you can read it, check it, and write it yourself:
- pa - the payee address, meaning your UPI ID: yourname@bank. This is the only parameter a code cannot work without.
- pn - the payee name shown to the payer. Spaces have to be encoded, so Chai Point becomes Chai%20Point.
- am and cu - the amount, written with two decimals, and the currency, which UPI only accepts as INR. Leave both off and the payer types the amount.
- tn - an optional note that appears on the payment screen, useful for a table number, a stall number, or an invoice reference.
Put together, a working code is as short as upi://pay?pa=yourname@bank&pn=Your%20Name&am=250.00&cu=INR. Because there is no checksum, you can read a UPI code back and check it character by character - a genuine advantage over Pix, PromptPay and PayNow, whose codes can only be verified by scanning them. It also means a typo produces a code that scans perfectly and pays the wrong UPI ID, so the paying-yourself-one-rupee step at the end of this page is not optional advice.
A Self-Made Code Is Not a Merchant QR
A UPI code you build yourself sends a person-to-person payment to your UPI ID, and that is all it does. A merchant QR issued by a bank or a payment provider is a different object: it is registered against a merchant account, it carries a signature the payment app can verify, and it produces the settlement reports, transaction references and dispute handling a business needs. Payment apps can tell the two apart, and some of them warn the payer that a self-made UPI ID is unverified - which is a reasonable thing for them to do and an unhelpful thing to have happen in front of a customer. So the line to draw is the same one every payment page here draws. If you are running a shop, get the merchant QR from your bank or PSP and print that. If you are collecting from friends, splitting a bill, taking donations, charging for a class, or invoicing as a freelancer, a self-made UPI code you can style and print is the more flexible of the two, and this is the page for it.
Generate QR Code
Where UPI QR Codes Are Used
A printed UPI code turns up wherever money moves without a card machine:
- 1
Find Your UPI ID
Open your payment app and copy your UPI ID - it looks like yourname@bank. Copy it rather than reading it off the screen; a mistyped ID is the one error this page cannot protect you from.
- 2
Fill In the UPI Form
Choose the UPI type in KoloQR and paste your UPI ID into the first field. Add the name the payer should see, and an amount and a note if the code is for one fixed price. KoloQR assembles the upi:// link and writes it out under the fields, percent-encoding included, so there is nothing to type by hand.
- 3
Read the Link Back and Design the Code
Read the link under the fields character by character - it is the only check UPI allows, since no checksum exists to catch a wrong ID. Then style the code. Keep contrast high and the pattern clean - this is a code scanned outdoors, one-handed, in a hurry.
- 4
Pay Yourself One Rupee Before Printing
Scan the finished code with a real payment app and check the name and the UPI ID on the confirmation screen are yours. Send one rupee, then export SVG or PDF for print.

Which File Format Should You Download?
KoloQR exports your UPI QR code in three formats. Pick by where it will be seen:
- PNG for invoices sent by email or WhatsApp, and for a code shown on a screen at one fixed size.
- SVG for counter cards, laminated signage, and stickers - anything a printer scales without softening the edges.
- PDF for handing to a print shop, or for a price card you print and laminate yourself.
The length of a UPI code is entirely under your control, which is not true of the other national payment codes. A bare pa and pn is often under 50 characters and prints as a coarse, forgiving pattern; add a long trade name, a transaction note and a reference and you can double it and lose a print size. Keep the payee name to the shortest form a customer would still recognise, drop tn unless it earns its place, and spend what you save on making the printed code bigger.
Generate QR CodeBest Practices for UPI QR Codes
Printed payment codes are targeted by fraud more than any other kind, so half of this list is about the physical sign rather than the pattern on it:
Copy the UPI ID, Never Retype It
A UPI link has no checksum, so a wrong character produces a code that scans perfectly and pays somebody else. Copy and paste is the only safe way to move a UPI ID.
Print the Payee Name Beside the Code
The payment app shows who is being paid before the payer confirms. Printing the same name under the code turns that screen into a check the customer can actually make.
Use the Merchant QR When You Are Trading
A merchant code from your bank or PSP is signed, registered and reconciled. A self-made code is a person-to-person transfer with no reporting behind it.
Preset the Amount Where There Is One
&am=250.00&cu=INR removes the mistyped total, the double payment, and the argument about which of the two happened.
Encode Spaces and Special Characters
A raw space in pn or tn can truncate the link when an app parses it. Use %20, and keep punctuation out of the name entirely.
Watch for Stickers Placed Over Yours
Covering a real payment code with a fraudulent one is the standard attack on unattended signage. Use tamper-evident laminate and check your own signs daily.
Don't Print a Code You Cannot Reach
If the sign is out of your sight - a shared noticeboard, a lobby, a stall you pack away - assume it will eventually be tampered with, and check it or do not print it.
Make It Bigger Than You Think
Roughly a tenth of the reading distance is the floor, so about 10 cm for a code read from a metre. Payment codes are scanned in bright sun, at arm's length, by someone in a hurry.
Keep the Modules Dark on Light
Inverted or low-contrast payment codes fail in exactly the light where money changes hands. Dark on light, always, with four modules of clear quiet zone on every side.
Test on Both an Android and an iPhone
upi:// is handled by the payment apps installed on the phone, and which apps claim it differs by device. A code that works from your own phone has been tested once, not tested.
Why Your UPI QR Code Isn't Working
A payment code fails in front of a customer who is holding a phone and waiting, so these are worth checking before the sign goes up rather than after.
The Camera Reads the Code but No App Opens
- Cause
- Nothing on that phone has registered the upi:// scheme - no UPI app installed, or a camera app that only opens web links. This is common on iPhones and on phones fresh out of the box.
- Fix
- Scan from inside a payment app's own scanner instead of the native camera, and test the printed code on at least one Android and one iPhone before the run.
The Payment App Says the UPI ID Is Invalid
- Cause
- The pa parameter is wrong or the ID no longer exists - a mistyped handle, a bank suffix that changed, or an ID tied to an account that has been closed.
- Fix
- Copy the UPI ID from your payment app again, rebuild the link, and confirm it by sending yourself one rupee before anything goes to print.
The Payee Name Shows Cut Off or Garbled
- Cause
- An unencoded space or a special character in pn ended the parameter early when the app parsed the link.
- Fix
- Replace every space with %20, remove punctuation from the name, and rebuild the link. Keep the name short - it is a label, not a legal entity name.
The App Warns the Payer That the ID Is Unverified
- Cause
- The code is a self-made person-to-person link rather than a signed merchant QR, and some apps flag that difference to the payer.
- Fix
- For a business, get the merchant QR from your bank or PSP and print that instead. For personal collection, print your name beside the code so the payer can match it to the screen.
Still not sure whether the fault is the file or the print? Drop the exported image into the QR code scanner - if it decodes on a desktop and not on paper, the fault entered after the file.
Questions? Answered
A UPI QR code stores a upi://pay link containing your UPI ID. Scanning it in an Indian payment app opens a transfer already addressed to you, with the amount filled in if the link carries one. The code holds a link, never your bank details.
Yes. Add &am=250.00&cu=INR to the link and the payment screen opens with the amount filled in. UPI only accepts INR as the currency, so cu never changes. Leave both off for donations and tips.
No. A merchant QR is issued by your bank or PSP, registered to a merchant account and signed so payment apps can verify it. A self-made code is a person-to-person transfer with no settlement reporting or dispute path behind it.
Any of them. UPI is one interface across every participating app, so a code built with a valid UPI ID is readable by every Indian payment app rather than tied to the one that issued it.
The iPhone camera opens web links; upi:// is only handled if an installed app has claimed the scheme. Scan from inside a payment app instead, and test both phone platforms before printing.
Yes. A UPI ID is an address that resolves to a bank account. The code carries only the address, so the account details are never printed and never travel in the pattern.
Yes, and they are set by NPCI and by each bank rather than by the code. A printed code cannot raise them, so a payer sending a large amount may hit their own daily cap and need a second transfer.
Yes, if the link is short. A code carrying only pa and pn is a coarse pattern with room for a centre logo of roughly a fifth of the width. Add an amount and a note and that margin shrinks - test the printed proof.
No. The link has no expiry, so the printed code keeps working as long as the UPI ID does - which is also why a discarded sign is worth destroying rather than leaving in a bin.
You can print a code with no amount and let the payer type it, but a card of separate codes - one per price - produces far fewer errors at a counter and needs no explanation to the customer.
Keep Exploring
Pages that pick up where this one leaves off - the same setting, the same kind of code, or the next thing worth deciding.
eBay QR Code
Open a listing, a store, or a seller's other items in one scan.
PayPal QR Code
Take a payment from a printed code by sending the scan to your PayPal.me link.
Weddings
One code on the invitation, linking guests to your RSVP form, the schedule and directions, and a shared photo album afterwards.
Retail Stores
Product details, stock and review links on shelf labels, shop windows and checkout signs.
TikTok QR Code
Send people straight to your TikTok profile, a single video, or a campaign hashtag.
PayNow QR Code
Encode the PayNow payload your Singapore bank app issued as a code you can style and print.
Why KoloQR?
- Create QR codes for websites, menus, Wi-Fi, PDFs, and business cards
- Customize colors, logos, and unique shapes
- Download high-quality PNG and SVG files
- Built for both print and digital
