Specifications• 4 min read

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:

upi://pay?pa=merchant@oksbi&pn=Sharma%20Store&am=150.00&cu=INR

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:

ParamNameRequiredDescription
paPayee AddressYesVirtual Payment Address (UPI ID) of the recipient, e.g. name@bank.
pnPayee NameYesDisplay name shown to the payer before they enter their UPI PIN.
amAmountOptionalDecimal amount in INR. When omitted, the payer inputs the figure.
cuCurrencyOptionalCurrency code, almost universally INR for Indian UPI transactions.
tnTransaction NoteOptionalShort 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.
Frequently Asked Questions

UPI QR Code Questions & Answers

What is the difference between a static and a dynamic UPI QR code?
A static QR code encodes a permanent payment address (such as your VPA or Bank Account IFSC) and can accept unlimited payments without requiring internet on the payee's device. A dynamic QR code is generated on-demand by payment gateways with an exact invoice amount and a unique, time-sensitive transaction reference.
What is the difference between UPI QR and BharatQR?
UPI QR encodes the 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?
No. A printed QR standee is a completely passive optical pattern. Only the customer needs mobile internet on their smartphone to scan and authorize the transfer. The merchant receives confirmation via cellular soundbox announcements or bank SMS alerts.
Can a customer pay a UPI QR code using RuPay Credit Cards?
Yes. When scanning a registered merchant UPI QR code, customers with linked RuPay Credit Cards on Google Pay, PhonePe, or Paytm can select their credit card as the payment source instead of their bank savings balance.
What error correction level should be used when printing shop QR standees?
High error correction (Level H or Level Q) is recommended. Level H allows up to 30% of the QR code area to be smudged, scratched, or covered by a brand logo in the center while still scanning instantly under shop lighting.
Are UPI QR codes interoperable across all banking apps in India?
Yes. Every authorized payment app in India (including PhonePe, Google Pay, Paytm, BHIM, Amazon Pay, CRED, and banking apps from SBI, HDFC, ICICI, etc.) strictly complies with NPCI's universal UPI QR standard.

Ready to create your own QR code?

Create high-resolution PNG or vector SVG codes in seconds.

Generate QR Code