Pro UPI QR

UPI tools

UPI QR Code Scanner & Reader

Scan a UPI QR with your phone camera, or read one from a photo or pasted text. See the UPI ID, the payee name written in the QR, the amount and any notes, and compare the ID with the one you were given. It cannot show who owns a UPI ID, so you still check the payee name in your own UPI app before you pay.

Need a QR for your shop? Make one free with the UPI QR generator, or try the universal QR generator.

Camera frames are processed on your device and never uploaded or saved. Check the payee name your UPI app shows before you pay.

Scan with your camera

The camera starts only when you tap the button, and its pictures stay on this device.

Camera preview appears here after you tap Start camera.

Use a photo of the QR

Photos are read in your browser. They are not uploaded or saved. You can also drop an image here.

Paste the QR text

Paste a upi:// link or the text another QR reader gave you.

Independent tool, not affiliated with NPCI, any bank or any UPI app. Disclaimer

How it works

Read a UPI QR in three steps

  1. Step 1

    Choose how to read the QR

    Tap Start camera and point it at the code, take or choose a photo of it, or paste the text of a QR you were sent.

  2. Step 2

    Read what it says

    The page lists the UPI ID, the payee name written in the QR and the amount, then notes about anything unusual. Type the UPI ID you were given, and the page says whether the QR carries the same one.

  3. Step 3

    Pay only in your own UPI app

    Before you enter your PIN, check that the payee name your UPI app shows is the person or shop you mean to pay.

Scope

What this page does and does not do

It does

  • Read the text inside a UPI QR (upi://pay), an AutoPay QR (upi://mandate), a web-address QR or a Bharat QR / EMV payment code.
  • Split a UPI link into its fields and flag a missing UPI ID, repeated fields, a currency other than INR and hidden characters.
  • Recompute the built-in checksum of an EMV code, which shows whether its text was damaged.
  • Run in your browser, with no upload, no account and no scan history.

It does not

  • Pay anything, open your UPI app or open any link it finds in a QR.
  • Show that a UPI ID exists, who owns it, or that a QR was made by the shop it stands in.
  • Check a digital signature, which needs keys this page does not have.
  • Replace your UPI app, or give legal or financial advice.

Pro UPI QR is an independent tool and is not affiliated with NPCI, any bank or any UPI app. Read the disclaimer.

Reference

What is inside a UPI QR code

A UPI QR code is a picture of a text link such as upi://pay?pa=shop@bank&pn=Shop&am=100&cu=INR. NPCI's UPI Linking Specifications define the parameters below; version 1.6 is a draft from November 2017, so apps in use today may differ. A printed shop QR may carry only a few of them.

pa
The payee's UPI ID. The NPCI draft lists it as required.
pn
The payee name, typed by whoever made the QR. The draft lists it as required, and nobody checks it.
am
The amount in rupees. If it is missing, you type the amount in your app.
mam
A minimum amount. mam=null, or an empty mam, means the amount in am cannot be changed.
cu
The currency. The draft says only INR is supported.
tn
A short note shown with the payment.
tr
A reference such as an order or bill number. The draft makes it mandatory for merchant and dynamic codes.
tid
A transaction ID generated by a payment service provider, when present.
mc
The merchant category code.
url
A web address with bill or order details. It should start with http or https.
mode
How the code was made, for example 00 default, 01 QR code, 02 secure QR code, 04 intent or 05 secure intent.
sign
A digital signature. The draft says an app should warn when it is missing. This page cannot check one.
orgid
A 6-digit organisation ID. 000000 stands for a code created by a merchant.
mid, msid, mtid
Merchant, store and terminal IDs of up to 20 digits, which the merchant or its acquiring bank use for reconciliation.

FAQ

UPI QR scanner questions

Is it safe to scan a UPI QR code?

Reading a QR only reveals the text inside it. What matters is what you do next. Scan to pay only when you mean to pay, check the payee name your UPI app shows before you enter your PIN, and never scan a code or enter a PIN to receive money: the Reserve Bank of India says receiving money does not need either. This page shows what a QR says, but it cannot tell you the QR is the one the shop meant to display.

What does a UPI QR code contain?

A text link such as upi://pay?pa=shop@bank&pn=Shop&am=100&cu=INR. The pa part is the payee's UPI ID, pn is a name written by whoever made the code, am is an optional amount and cu is the currency. A static shop QR often has no amount, so you type it. The table above lists the other parameters.

Why does my phone camera only show a link or text?

A camera app only decodes the QR into text, and for a UPI QR that text is a upi:// link. Depending on the phone it may offer to open a UPI app or just show the link. This page takes the same text and splits it into the UPI ID, the name, the amount and notes, so you can read it before anything is opened.

What are mode, sign and orgid in a UPI QR?

In the NPCI draft, mode says how the link or QR was made, sign carries a digital signature and orgid is a 6-digit organisation ID, with 000000 for a merchant-created code. This page cannot check a signature. A simple QR may leave all three out, and the page shows that as a note, not as a problem.

Can someone stick a different QR over a shop's QR?

Yes. A sticker can be placed over a printed code, and a swapped code pays someone else; the FBI has warned that physical QR codes are replaced this way, for example with a sticker over the original. A scan, here or in your UPI app, reads whatever is on top, so the check that matters is the payee name your app shows: if it is not the shop's name, stop and ask the shop. Shop owners can read our guide on preventing QR tampering.

Why can the payee name in my UPI app differ from the name in the QR?

The name inside a QR is text chosen by whoever made it, and nobody checks it. Your UPI app can show a different name for the same UPI ID. Treat the name your app shows as the one to compare with the person or shop you mean to pay. If neither name matches who you expect, do not pay.

Does this page upload my camera feed or photo?

No. The camera starts only when you tap Start camera, each frame is checked inside your browser and dropped, and the camera stops when you press Stop, when a code is read or when you leave the page. Photos and pasted text are read in the browser too. Nothing you scan, photograph or paste is sent to us or saved, and there is no scan history. Like every page here, the page itself is counted in cookie-free page-view statistics; see the privacy policy.

Why is my camera blocked or not starting?

The browser needs a secure (https) page and your permission, and the site must be allowed to use the camera. If you tapped Block, allow the camera for this site in the browser settings. A camera may also be missing or in use by another app. A browser built into another app may not pass camera access to the page: open the page in your main browser. You can always use Take a photo or paste the QR text instead.

What if the QR is a UPI AutoPay (mandate) code?

A upi://mandate code sets up a recurring debit, not a one-time payment. If you approve it, the payee can take money from your account again later. This page marks such a code with a warning. Approve one only for a subscription you set up yourself.

What is a Bharat QR or EMV payment code?

Some payment QR codes use the EMV merchant QR layout, which starts with 000201, instead of a upi:// link. This page reads the merchant name, city and amount from it and checks its built-in checksum (CRC), which only shows the text was not damaged. It cannot pay such a code: use the payment app or bank app you use for it. Our glossary explains Bharat QR.

Sources and method

Where the rules come from

The page splits a upi:// link at & and =, turns %20 and + into spaces, reads each parameter against the NPCI draft and applies a few plain checks: an ID written like name@handle, an amount with at most two decimals, the currency INR, repeated parameters and hidden characters. Amounts are read as text and kept as whole paise, never converted with floating-point maths. For a web address it shows the site name a browser would connect to. For an EMV code it walks the tag-length-value text, counting each length in characters, and recomputes the CRC-16/CCITT-FALSE checksum (polynomial 0x1021, start value 0xFFFF) over the text's UTF-8 bytes; our tests reproduce the checksum of a payload published by Banco Central do Brasil. Because the NPCI document is an old draft, a missing or extra parameter is shown as a note, never as an error.

Last reviewed 31 October 2026 by Kunal Siyag. See the accuracy policy for how facts are checked and corrected.