UPI QR code generator

A payment code any UPI app can scan.

Settings

The one your payment app shows, such as 9876543210@ybl or name@okhdfcbank.

What appears in the payer’s app before they confirm.

Leave it blank and the payer types their own.

About this tool

A UPI QR code is not a proprietary thing. It is a plain text link (upi://pay?pa=…&pn=…) drawn as a square of black and white modules. Every payment app in India reads the same link, which is why one printed code works for a customer on PhonePe and the next one on Google Pay without you doing anything about it.

Because it is just a link, the interesting decision is the amount. A code with no amount is an open invitation: the payer scans, sees your name, types what they owe. That is what a shop counter or a stall wants. A code with the amount baked in cannot be edited, which is what you want when you are sending an invoice or your share of a bill: it removes the possibility of the wrong number being typed, and it removes the follow-up message asking how much.

One habit is worth building. Before a code goes anywhere (printed, laminated, sent on WhatsApp) scan it yourself with a payment app and read the name and ID that come back. A single wrong character in a UPI ID produces a perfectly valid code that pays somebody else, and the code cannot tell you that, because as far as it is concerned nothing is wrong. Thirty seconds of checking is the whole defence.

If you are running real business volume through this, get a merchant QR from a payment provider instead. A merchant code changes the transaction limits, the settlement behaviour and how the payment is treated at the payer’s end. This tool makes a personal code, and a personal code taped to a busy counter will eventually run into a limit.

The code is drawn in your browser. Your UPI ID is not sent to us or to anyone else, and nothing about it is stored.

How to use this tool

  1. Enter your UPI ID. The one your payment app shows you: something like 9876543210@ybl or yourname@okhdfcbank. This is where the money goes, so copy it rather than typing it from memory.
  2. Enter the name to show. What the payer sees on their screen before they confirm. A shop name or your own name; whatever makes it obvious to them that they are paying the right person.
  3. Decide about the amount. Leave it blank and the payer types their own, which is what a counter needs. Fill it in and the amount is fixed, which is what an invoice or a split bill needs.
  4. Scan your own code before you use it. Open any payment app, scan the code, and check that the name and the UPI ID that come up are yours. Do this once, before printing. Then download it.

What this tool does not do

  • It generates a personal UPI code, not a KYC-verified merchant QR.
  • It cannot check that the UPI ID exists or that it belongs to you. Scan it and confirm before you print it.
  • No logo, no colours, no branding in the middle of the code.
  • It does not track payments, and it cannot tell you whether anyone has paid.
  • Transaction limits are set by the payer's bank and app, not by the code.

Common questions

Which apps can scan this?

All of them. The code holds a standard upi://pay link defined by NPCI, so Google Pay, PhonePe, Paytm, BHIM, Amazon Pay and every bank app read the same thing. There is nothing to register for and no app-specific version.

Should I leave the amount blank or fill it in?

Blank for anything where the amount varies: a shop counter, a stall, a donation box. Fixed for an invoice, a fee, or your share of a dinner. A fixed-amount code cannot be edited by the payer, which is the point of using one.

Is this the same as the QR my payment app gives me?

Functionally, for a personal UPI ID, yes. What it is not is a merchant QR: those are issued by a payment provider after KYC, and they carry a merchant code that affects transaction limits, settlement and whether the payer's app charges anything. If you are taking business volumes, get a proper merchant QR.

Where can I safely print or share this?

Anywhere you would be comfortable displaying your UPI ID, because that is what the code contains. It cannot pull money from anyone (it only tells a payment app where to send money) but the ID itself is visible to anyone who scans it.

Why is there a limit on the fixed amount?

Fixed-amount codes here stop at ₹1,00,000, which is around the per-transaction ceiling most banks apply to UPI anyway. For anything larger, leave the amount blank and let the payer's app deal with its own limits.

Can I put a logo in the middle?

Not here. A logo covers modules and relies on error correction to survive, which is a real risk on a printed code scanned in bad light at a counter. This produces a plain, high-contrast code with a correct quiet zone, which is the version that always scans.

How to use it

  1. Enter your UPI ID. The one your payment app shows you: something like 9876543210@ybl or yourname@okhdfcbank. This is where the money goes, so copy it rather than typing it from memory.
  2. Enter the name to show. What the payer sees on their screen before they confirm. A shop name or your own name; whatever makes it obvious to them that they are paying the right person.
  3. Decide about the amount. Leave it blank and the payer types their own, which is what a counter needs. Fill it in and the amount is fixed, which is what an invoice or a split bill needs.
  4. Scan your own code before you use it. Open any payment app, scan the code, and check that the name and the UPI ID that come up are yours. Do this once, before printing. Then download it.

Your files stay on this device. No uploads, no account, no waiting for a server.

Large files and complex PDFs can take a moment on older phones.

Related tools