What is a UPI QR Code & How Does It Work?
A comprehensive look under the hood of Unified Payments Interface (UPI) Quick Response codes, how data is serialized, and why any standard payment app can scan them.
The Basics: An Interoperable URI Scheme
At its core, a UPI QR code is simply a standard two-dimensional barcode encoding a specific Uniform Resource Identifier (URI) defined by the National Payments Corporation of India (NPCI).
The URI always begins with the protocol prefix:
Because this protocol is standardized across India's banking system, whether an individual scans the image using PhonePe, Google Pay, Paytm, BHIM, Cred, or any mobile banking app, the operating system recognizes the upi:// intent and directs it straight to the installed payment application.
Static vs. Dynamic UPI QR Codes
UPI QR codes typically fall into two categories depending on whether the payment amount is predetermined:
Static QR Code
Encodes only the payee's UPI ID (pa) and payee name (pn). The amount (am) is omitted. The payer enters the amount on their phone during checkout. Ideal for small retail shops and counter standees.
Dynamic QR Code
Includes the exact transaction amount (am) and optionally an invoice or transaction note (tn). The payer's app opens with the amount already populated. Ideal for e-commerce, bills, and specific invoices.
Anatomy of UPI URI Parameters
Here is what each parameter inside a UPI QR string represents:
| Param | Name | Required | Description |
|---|---|---|---|
| pa | Payee Address | Yes | Virtual Payment Address (UPI ID) of the recipient, e.g. name@bank. |
| pn | Payee Name | Yes | Display name shown to the payer before they enter their UPI PIN. |
| am | Amount | Optional | Decimal amount in INR. When omitted, the payer inputs the figure. |
| cu | Currency | Optional | Currency code, almost universally INR for Indian UPI transactions. |
| tn | Transaction Note | Optional | Short description or reference ID shown in bank statements (max 50 chars). |
Security & Privacy Best Practices
When generating or sharing UPI QR codes:
- Verify Payee Details: Generating a QR code encodes string text; it does not test if the bank account is currently reachable. Before displaying a QR code for your business, always scan it once yourself.
- Physical Security: If you print a QR standee for your physical store, check regularly to ensure malicious actors have not pasted a counterfeit QR sticker over your authentic code.
- Privacy: Use our free, browser-based UPI QR Generator to ensure your VPA and financial details are never sent to external servers during creation.
UPI QR Code Questions & Answers
What is the difference between a static and a dynamic UPI QR code?
What is the difference between UPI QR and BharatQR?
upi://pay URI scheme specifically designed for real-time bank account-to-bank account settlement. BharatQR is an interoperable standard co-developed by NPCI, Visa, and Mastercard that primarily facilitates card-based payments across debit and credit rails without card swiping machines.Does a merchant need an internet connection to receive payments via a printed QR standee?
Can a customer pay a UPI QR code using RuPay Credit Cards?
What error correction level should be used when printing shop QR standees?
Are UPI QR codes interoperable across all banking apps in India?
Ready to create your own QR code?
Create high-resolution PNG or vector SVG codes in seconds.
Related tools
UPI QR Generator
Generate a universal payment QR code from your UPI ID. Download PNG or SVG.
Bank QR Generator
Create a direct bank transfer UPI QR code from Account Number and IFSC.
Payment Link Generator
Build a shareable UPI payment link with optional amount and note.