Blog

UPI QR Code for Payments: Setup, Testing and Printing Guide

Published 26 October 2026

A UPI QR code is a square code that holds a payment link. When a customer scans it with a UPI app, the app opens with your UPI ID already filled in, so they only confirm the amount and pay. You can make one for free with the UPI QR code generator, print it and put it on your counter, invoice or business card.

This guide explains what is inside the code, when to use an open amount and when to fix one, how to check your details before printing, and how to keep payments safe.

What a UPI QR code actually is

The code does not hold money, a bank account number or any login. It holds a short piece of text that starts with upi://pay. Phones and UPI apps are built to recognise that prefix, although behaviour can vary by device and app, so test on your own phone. The app reads your UPI ID (also called a VPA, virtual payment address), your name and any amount, and shows a payment screen.

This makes it a good fit for:

The code is static. The data is written straight into the pattern, so it never expires and works without any server of ours. It also means it cannot be edited later. If you want the background on that, see static vs dynamic QR codes. UPI codes on GenerateQR.link are static only.

What is inside the upi://pay link

The link is a list of parameters. Here is the format:

upi://pay?pa=<UPI ID>&pn=<payee name>&am=<amount, optional>&cu=INR&tn=<note, optional>

Parameter Meaning Needed
pa Your UPI ID (VPA) Yes
pn Payee name, shown to the payer Yes
am Amount in rupees No
cu Currency, always INR Added by the generator
tn Short note or reference No

An example for a tea stall with an open amount:

upi://pay?pa=ravitea@examplebank&pn=Ravi%20Tea%20Stall&cu=INR

An example for a fixed amount with a note:

upi://pay?pa=ravitea@examplebank&pn=Ravi%20Tea%20Stall&am=499&cu=INR&tn=Invoice%20104

Spaces in names and notes are written as %20. You do not need to do this by hand: the generator builds and encodes the link from the fields you fill in. The UPI ID above is made up, so use your own.

Open amount or fixed amount

This is the main choice you make when creating the code.

Open amount

You leave the amount empty. The customer scans, types the amount and pays. Use this for:

The risk is a typing mistake by the customer, so say the amount aloud and check your own app for the incoming payment before handing over goods.

Fixed amount

You enter an amount, and the app shows it when the code is scanned. Use this for:

Because the code is static, a fixed amount is permanent. If the price changes, you have to make and print a new code. Also, how an app treats a pre-filled amount, for example whether the payer can edit it, depends on the app and its current version. Test with the apps your customers use.

A simple rule: if you sell many items at different prices, use open amount. If you sell one thing at one price, fixed amount saves customers a step.

Check your UPI ID before printing

A wrong character in the UPI ID sends the payment to someone else, or fails. Because you cannot edit a printed static code, spend two minutes on this before you print anything.

  1. Copy the ID from your UPI app. Open your payment app, find your profile or the screen that shows your UPI ID, and copy it instead of typing it from memory.
  2. Paste it into the generator. Compare it character by character with the app, including the part after the @ sign.
  3. Check the payee name. Use the name your customers will recognise, such as your shop name or your own name. Some apps may show a different name from the one you typed, for example the name registered with the bank. Check what your own app shows.
  4. Decide on the amount. Leave it empty for open amount, or enter a plain number for a fixed one.
  5. Generate the code and move to testing.

If you have more than one UPI ID, for example a personal one and a business one, pick the one linked to the account you actually want the money in.

Test with a real UPI app

Test every code before printing, as you would for any QR code. For UPI, a good test looks like this:

Test the printed version as well, not just the screen. Scan it from the distance a customer will use, in the lighting of your shop.

Printing tips for shop counters

A payment code gets scanned fast, in a hurry, often under bad light. Make it easy.

For more on getting a clean code out of a free tool, see how to create a QR code for free.

Safety: who actually gets the money

Payments go to whoever owns the UPI ID inside the code. The QR code itself carries no protection. That has a few practical consequences:

GenerateQR.link only creates the code. It does not process, hold or see any payments, and it is not affiliated with NPCI or any bank or payment app. Static QR data is generated in your browser and is not sent to our servers. Check the current rules and guidance from your bank or payment app for anything about limits, business accounts or merchant requirements.

Common mistakes and how to fix them

Mistake Fix
Typing the UPI ID by hand and getting it wrong Copy it from your UPI app and compare it again after pasting
Printing before testing Scan the screen version with two different apps first
Fixed amount on a shop counter with varied prices Make an open amount code
Code printed too small or too close to text Increase the size and keep a clear margin
Low contrast colours or a light code on a dark background Use dark on light and retest
Expecting scan statistics UPI codes are static, so scans are not tracked. Check your payment history in your bank or UPI app instead
Price changes after printing Generate and print a new code, and remove the old one

Make your code

Open the UPI QR code generator, enter your UPI ID and payee name, add an amount and note only if you need them, then download an SVG for print or a PNG for screens. No account is needed for static codes. If you also want a code for customer chat, a call or an email, the main QR code generator covers those types too, including dynamic codes with scan statistics for URL, WhatsApp, phone, SMS and email. Dynamic codes only need a free account.

Make your own QR codeFree, styled and ready to print. Choose static, or a dynamic QR code you can edit later and track with scan statistics.Open the generator

Frequently asked questions

Can I change the UPI ID in a QR code after printing it?

No. UPI codes are static, so the ID is written into the pattern and cannot be edited. If something is wrong, create a new code and replace the printed one.

Does a UPI QR code expire?

The code itself does not expire, because it depends on no server of ours. It stops working only if the UPI ID is closed or changed in your bank or payment app.

Can I see how many people scanned my UPI QR code?

Not from the code. UPI codes are static and are not tracked, so the best record is the transaction history in your bank or UPI app.

Do I need a business account to use a UPI QR code?

The generator only needs a valid UPI ID. Whether your bank or app requires a business or merchant account for your kind of use is a question for them, so check their current rules.

Should I put a logo in the middle of my payment QR code?

You can, since the generator uses the highest error correction level. Keep the logo small, keep strong contrast, and test the final print with a real UPI app.

Keep reading