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
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.
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.
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.
- NPCI, UPI Linking Specifications 1.6 (draft, November 2017): parameter names, amount, signature and %20 rules. A third-party copy of a 2017 draft, so apps in use today may differ.
- EMVCo, EMV QR Code Specification for Payment Systems, Merchant-Presented Mode, v1.1 (27 November 2020): the standard behind codes that start 000201.
- Hong Kong Monetary Authority, Common QR Code Specification for Retail Payments in Hong Kong, version 1.0 (December 2017): restates the EMV data objects, the point-of-initiation values and the CRC rule.
- Banco Central do Brasil, Manual do BR Code, version 2.0.1 (31 August 2020): the EMV tag layout and a full published payload with its CRC, which this reader's tests reproduce.
- CRC RevEng catalogue, CRC-16/IBM-3740 (also called CRC-16/CCITT-FALSE): check value 0x29B1 over the text 123456789.
- Reserve Bank of India, press release 2021-2022/1630 (28 January 2022), Consumer Awareness - Cyber Threats and Frauds: transactions that receive money do not need a QR scan or an MPIN.
- FBI Internet Crime Complaint Center, alert I-011822-PSA (18 January 2022), Cybercriminals Tampering with QR Codes to Steal Victim Funds: a physical QR code can be replaced, for example by a sticker placed on top of the original.
- MDN, MediaDevices.getUserMedia(): the camera needs a secure (https) page, the visitor's permission, and a Permissions Policy that allows it.
Last reviewed 31 October 2026 by Kunal Siyag. See the accuracy policy for how facts are checked and corrected.
Related
More on reading and checking UPI QR codes
- UPI QR decoderRead a QR from a saved image and see its fields.
- UPI errors, limits and safetyError codes, bank limits and refund timelines in one place.
- Is it safe to scan UPI QR codes?How QR payment scams work and how to avoid them.
- Prevent UPI QR tamperingFor shop owners: keep a stranger's sticker off your counter QR.
- UPI AutoPay mandate QR codesWhat a recurring-payment QR does and how to read one.
- Static UPI QR in the glossaryWhy a printed shop QR usually has no amount.
- Bharat QR in the glossaryHow it differs from the upi://pay QR on most counters.
- UPI ID name ideas and format checkSee how a UPI ID is written and which app a handle belongs to.
- UPI ID to QR code generatorStart from a UPI ID and make a QR you can print or share.
- Payment QR code generatorWhich kind of payment QR suits a counter, a table or an invoice.