Skip to content
ImgKiloImgKiloOpen tools

UPI QR Code Generator

UPI QR code for BHIM, GPay, PhonePe, Paytm

Type your VPA and payee name, optionally an amount and a note. The generator builds an NPCI-compliant `upi://pay` deep link. Every UPI app on the BHIM platform reads the QR and opens the payment screen with your details prefilled.

UPIReads on every NPCI-compliant app
  • Google Pay
  • PhonePe
  • Paytm
  • BHIM
  • Amazon Pay
  • Apple Pay
BHIMUPI
  • gpay
  • phonepay
  • paytm
  • amazonpay
  • applepay

What to encode

Style

Frame

  • Files never leave your device
  • Runs in your browser
  • Free, no signup

How it works

  1. 1

    Type your VPA and name

    VPA like `shop@oksbi`. Payee name shown to the customer (your bank's name may override).

  2. 2

    Pick any-amount or fixed

    Leave amount blank for a storefront QR. Type a rupee value for a fixed-price service or donation.

  3. 3

    Download PNG or SVG

    PNG for screens, SVG for the laminated counter card. Test with a ₹1 payment from another phone before mass-printing.

What this UPI QR generator does

NPCI deep link

Builds `upi://pay?pa=&pn=&am=&cu=INR&tn=` per the NPCI Linking Specification. Reads in every BHIM-platform app.

Any-amount or fixed

Storefront mode for variable bills; fixed-amount for known prices. Each customer scans the same QR.

Transaction note for matching

Add an order number or reference. It shows up on your settlement report so reconciliation is easier.

Where this helps

Retail

Storefront counter

Laminated card at the till. Customers scan from any UPI app, type the bill amount, pay.

Food

Restaurant tables

Sticker on each table. Diners pay individually without queueing at the cashier.

Services

Service invoices

QR on the printed bill. Plumber, tutor, beautician, paid before the visit ends.

Non-profit

Donations

A4 poster with QR plus three suggested amounts. Any-amount QR, suggested-amount labels.

Events

Event tickets

Fixed-amount QR per ticket tier. Customer scans, pays, screenshots the confirmation as proof.

Transit

Parking and toll booths

Fixed-amount QR for the rate card. Drivers pay from the queue without rolling down the window.

Tips that help

  • 1

    Test with ₹1 before mass-printing

    Scan and pay yourself ₹1 from another phone. Confirm the right VPA, right amount, right name shows up.

  • 2

    Use matte cards, not thermal receipts

    Receipt paper softens scans; matte stickers and cards lock focus reliably under cafe lights.

  • 3

    Keep the print at 5×5 cm or larger

    10:1 distance rule. 5 cm scans cleanly across a counter; 3 cm needs the customer right up close.

  • 4

    One QR per fixed amount

    For tiered donations or tickets, print one QR per amount on the same panel. Customers pick by tapping.

What the UPI QR actually encodes

UPI QR codes follow NPCI's deeplink specification. The encoded string is a URI of the form `upi://pay?pa=VPA&pn=NAME&am=AMOUNT&cu=INR&tn=NOTE`. Every UPI app on the BHIM platform parses this format and opens the payment screen with the relevant fields prefilled.

The five UPI parameters

`pa` is the payee address, your VPA, like `shop@oksbi`. This is the routing handle.

UPI QR code for BHIM, GPay, PhonePe, Paytm

`pn` is the payee name, a human-readable hint. The customer's app may show your bank-registered name instead, depending on its policy.

`am` is the amount in rupees. Leave it out for an any-amount QR (storefront); set it for fixed-amount payments (services, donations).

`cu` is the currency, always INR for UPI. We add this automatically.

`tn` is the transaction note, a short reference the merchant sees on their settlement report. Useful for order numbers or service references.

Any-amount vs fixed-amount QR

Any-amount is the storefront default. The customer scans, sees your name, types the amount they owe, and pays. Use this on the counter, the menu, the table card. Same QR works for every customer all day.

Fixed-amount QR is for known-price items: prepaid service charges, ticketed events, donation tiers, parking fees. The customer sees the amount in their app, taps the PIN, done.

For tiered donations or merchandise, print one QR per tier (₹100, ₹500, ₹1000). One panel with three QRs makes the choice obvious; one QR with a popup picker does not exist in UPI.

Where the printed UPI QR earns its place

Small retail: 5×5 cm laminated card at the counter, plus a smaller QR on the receipt for repeat customers. The 10:1 distance rule says 5 cm scans cleanly from 50 cm, across the counter.

Restaurant tables: 4 cm sticker on each table. Diners scan, pay their share, walk out. Cuts the queue at the cashier.

Service businesses (plumbers, tutors, beauticians): 3 cm QR on the invoice. Customer pays from the printed bill before the visitor leaves.

Read more

Charity and donations: A4 poster with QR plus three suggested amounts. The QR is any-amount; the suggestions guide the give.

What can go wrong

VPA typo. `shop@oksbi` vs `shop@okhdfcbank`, same shop, different bank-handle. The QR routes to the literal VPA you typed. Verify by sending yourself ₹1 from another phone before mass-printing.

Wrong amount when fixed. Test the QR before printing 500 stickers. Customers will not flag the typo before the money goes through; they will not get a refund either without manual reconciliation.

Printing on glossy receipt paper. The thermal coating reflects and the camera struggles. Switch to a sticker or a printed card.

Frequently asked questions

Honest answers to what people ask before using this tool.

Yes. The QR encodes an `upi://pay` deep link per the NPCI specification. Every NPCI-compliant app reads it: BHIM, Google Pay, PhonePe, Paytm, Amazon Pay, WhatsApp Pay, CRED, Slice and bank apps including HDFC, SBI, ICICI and Axis.

Yes. Leave the Amount field blank and the QR encodes the payee and VPA without `am`. The customer scans, taps the app, types the amount, and pays. This is the standard storefront QR.

Type the amount in rupees. The QR encodes `am=<value>` so the customer's app opens with the amount prefilled. They tap the PIN and pay. Useful for service charges, prepaid orders and donation amounts.

VPA stands for Virtual Payment Address. It is your UPI ID in the form `name@bank`, like `shop@oksbi` or `pradeep@ybl`. It is the routing handle the QR encodes; when the customer scans, their app sends the rupee request to your VPA.

Not for personal use. A savings account with UPI enabled is enough. For business use (storefronts, service businesses), a current account with a merchant VPA is required for higher daily limits and proper bookkeeping. Speak to your bank about merchant onboarding.

Customers pay no fee for UPI payments. For merchants, RBI has waived MDR on person-to-merchant UPI transactions since 1 January 2020, so receiving payments is free in most cases. Bank-specific terms may add small handling fees for high-volume merchants; confirm with your bank.

NPCI's default per-transaction cap is ₹1,00,000 with a daily cap of ₹1,00,000 per VPA. Some specific categories (capital markets, insurance, education) have higher limits up to ₹2,00,000–₹5,00,000. For amounts above the cap, split the payment or use a bank transfer.

Each amount needs its own QR (or no amount). For a 'tap to pay' panel with multiple amounts, print three QRs side by side, each encoded with one fixed amount. The customer scans the one they want.

The payee name shown in the customer's app is the name registered against your VPA at your bank, not what you typed in the generator. The `pn` field we include is a hint; the bank's name on file overrides it. Check the name on your UPI app's profile.

Yes. The QR encodes only your VPA and payee name, public information you would share to receive a payment. Nobody can withdraw money from a UPI QR; they can only send it.

Further reading

Independent references if you want to go deeper on the formats and tradeoffs.