NPCI deep link
Get paid by camera.
A UPI code carries your payment address, and optionally the amount and a note. Any UPI app scans it and opens a payment already filled in — no typing a VPA into a phone with wet hands.
live example — scannable
Payload format
The upi://pay deep link
UPI codes follow NPCI's deep-linking specification: a upi://pay URI with query parameters. Only the payee address is mandatory, but we always emit the currency, because several UPI apps reject or mishandle a payload without it.
upi://pay?pa=shop@bank&pn=Shop&am=250&cu=INR- pa
- Payee address — your VPA, such as name@bank. The only required field.
- pn
- Payee name. Shown to the payer so they know who they are paying.
- am
- Amount. Leave it empty for a code where the payer chooses.
- cu
- Currency. Always INR here, and always present.
- tn
- Transaction note — a short reference the payer sees.
How to make one
Your VPA is all you need
- 01
Enter your UPI ID
The address your bank or payment app gave you, like name@bank.
- 02
Set an amount, or don't
Fix it for a specific bill, or leave it open for a tip jar or donation.
- 03
Test with a small payment
Scan it yourself and send one rupee before printing anything.
Where it earns its keep
Where a UPI code belongs
- A counter sign at a stall, so change is never the problem.
- An invoice, with the exact amount already encoded.
- A donation box at an event, where the payer picks the amount.
- A rickshaw or delivery bag, printed once and used for years.
Questions
UPI Payment QR codes, answered
Is this the same as a Bharat QR code?
No. Bharat QR is an EMVCo TLV format that also carries card networks, and its merchant identifiers are issued by acquiring banks. This generates a plain upi://pay link, which is what an individual or small merchant actually wants for scan-to-pay.
Why do you always include cu=INR?
Because several UPI apps reject or mishandle a payload with no currency field. It is optional in the spec and practically mandatory in the field, so we always set it.
Is it safe to print my UPI ID in public?
A VPA is a receiving address — it lets people pay you, not withdraw from you. It is designed to be shared. Never share your UPI PIN, which is a different thing entirely.
Does the money go through this site?
No. We generate a code; the payment happens entirely between the payer's UPI app and their bank. We never see the transaction, and we do not need an account to make the code.