UPI QR Code Scanner
Read any UPI or Bharat QR code and see exactly who gets paid, how much, and whether anything about the code deserves a second look — then rebuild it with your own amount. Everything runs in your browser; no image and no payment detail is ever uploaded.
1. Open the QR code
Drop a screenshot here, or choose a file
You can also press Ctrl/⌘ + V to paste a copied image.
Or build a UPI QR code from scratch
Leave the amount blank to get an open code — the kind a shop counter uses, where the payer types whatever they owe. Fill it in to lock a figure.
Open amount — the payer types the figure.
Enter a UPI ID to see the code.
A rebuilt code changes what the QR asks for, not what your bank allows. Per-transaction and daily UPI limits, and the extra confirmation apps add for a new payee above ₹2,000, are enforced by your bank and your UPI app — no QR code can raise them. See the general QR generator for non-payment codes.
UPI QR Code Scanner, Checker and Rebuilder
Read any UPI or Bharat QR code from a screenshot, a photo or your camera, see exactly who gets paid and how much, and rebuild the code with your own amount. Every step runs inside your browser — the image is decoded on a canvas in your own tab and the new code is drawn there too, so no payment detail is ever uploaded.
The fixed-amount problem, explained honestly
When someone sends you a QR code and your payment app opens with an amount you cannot edit, the amount is written into the code itself — an am field in the payload. Most UPI apps treat that figure as fixed. The sticker on a shop counter usually has no am field at all, which is why scanning it lets you type whatever you owe. The difference is what was encoded, not whether you used the camera or a screenshot.
That is the problem this tool fixes: decode the code, see the locked figure, and rebuild the same payee's code with your amount — or with none, so the payer chooses.
What it does not do: raise a limit your bank sets. The extra confirmation UPI apps ask for above ₹2,000 to a first-time payee, and your daily cap of typically ₹1 lakh for person-to-person payments, are enforced on the payment by your app and your bank. They are not written into the QR, so re-encoding one cannot change them — whatever a tool that promises otherwise tells you.
How to Use It
Open the Code
Upload, paste an image, paste a upi:// link, or use your camera.
Read the Result
The real UPI ID, the locked amount and every safety finding.
Set Your Amount
Type a figure, or clear it so the payer chooses.
Save or Share
PNG, print-ready SVG, or a copyable UPI link.
What the safety check looks for
A collect request in disguise
A collect or mandate pulls money from you once you approve it. Genuine shops hand you a pay code and let you push.
Receive-money wording
No QR can credit you. A note promising a refund, cashback or prize exists to make you approve a debit.
A name that doesn't match the address
The displayed name is chosen by whoever made the code and verified by nobody. Only the UPI ID decides where money lands.
An embedded link
Some codes carry a URL your app may show as an invoice — and the easiest way to push a phishing page at someone reaching for their PIN.
Merchant claims with no signature
A merchant category code without a signature can't be verified by your app, so it's a person-to-person payment in practice.
A broken Bharat QR checksum
Bharat QR carries a CRC over its own contents. A mismatch means the payload was edited after the bank issued it.
Frequently Asked Questions
The QR code I was sent has a fixed amount. How do I pay a different amount?
The amount is written into the code itself, in a field called `am`, and most UPI apps will not let you edit a figure that arrived that way. Scan the code here and you will see the locked amount spelled out. Then use the rebuild panel: clear the amount box to get an open code where the payer types any figure, or type the figure you actually want. The rebuilt code pays exactly the same UPI ID — only the requested amount changes.
Does this let me get around the ₹2,000 UPI limit?
No, and be wary of any tool that claims it does. There are two different things people mean by the ₹2,000 limit, and neither is a property of the QR image. The first is a fixed amount baked into the code — that is genuinely a QR problem, and rebuilding the code here solves it. The second is the extra confirmation step, and sometimes a lower first-day cap, that UPI apps apply when you pay more than ₹2,000 to a payee you have never paid before. That one is a fraud control living in your app and your bank. It applies to the payment, not the picture, so no scanner, generator or re-encoder can lift it. Your daily UPI cap — typically ₹1 lakh for person-to-person payments, higher for some verified merchant categories — works the same way.
Why can I type any amount when I scan a shop's QR with my camera, but not when I open one sent to me?
Because they are usually different codes. The sticker on a shop counter is a static, open-amount code: it carries the shop's UPI ID and nothing else, so your app has to ask you how much to pay. A code someone generates to request a specific sum from you is a dynamic code with the amount written in. Scanning the same open code from a screenshot behaves exactly like scanning it with the camera — the difference is what was encoded, not how you scanned it.
Can a QR code send money to me?
Never. Scanning a UPI QR and entering your PIN can only ever debit your account. This is the mechanism behind most UPI QR fraud: you are sent a code with a note about a refund, a cashback, a prize or a returned order, and approving what looks like a collection is actually approving a payment. This scanner flags that wording specifically, and flags collect requests and auto-debit mandates, which pull from your account rather than letting you push. If someone genuinely owes you money, they scan your code — you never scan theirs.
How do I check whether a UPI QR code is safe before paying?
Read the UPI ID, not the name. The name a QR asks your app to display is chosen by whoever made the code and is verified by nobody, so a code can show a bank's name while paying a personal address. The UPI ID is the only field that decides where the money lands. This tool shows it in full, names the app or bank that issued the handle, and warns you when the displayed name shares nothing with the address it is attached to. It also flags an embedded link, a currency that is not rupees, a missing merchant signature, and a Bharat QR whose checksum no longer matches its contents — the signature of a payload edited after it was issued.
Which QR formats does this read?
Both families used for payments in India. NPCI deep links — anything starting `upi://pay`, plus the app-specific `phonepe://`, `gpay://` and `paytmmp://` variants — and EMVCo Bharat QR, the long numeric payload that banks and card networks issue, where the UPI address is buried inside a merchant account template. For Bharat QR the CRC checksum is verified too. If you scan something that is not a payment code at all, the tool says so rather than showing you an empty result.
Does it work on iPhone and in Firefox?
Yes. Most browser QR tools rely on the BarcodeDetector API, which only ships in Chrome and Edge, and fail silently everywhere else. This one tries BarcodeDetector first and falls back to a JavaScript decoder that runs in every modern browser, including Safari on iPhone and Firefox. It also reads inverted codes, which is what you get when a payment app is screenshotted in dark mode.
Is my QR code image uploaded anywhere?
No. The image is decoded on a canvas inside your own browser tab, and the rebuilt code is drawn there too. Your UPI ID, the amount and the payee's details never reach TryDocsy or anyone else — which matters here more than on most tools, because this one handles payment details by definition. The page itself runs ordinary anonymous website analytics; it never receives what you scanned.
Can I use this to make a QR code for my shop?
Yes. Enter your UPI ID, add your shop name, leave the amount blank so customers type what they owe, and download the SVG — vector, so it stays sharp printed at any size from a counter card to a shutter poster. The code is static, meaning your UPI ID is encoded directly into the pattern: no short link in the middle, nothing to expire, no subscription, and no third party counting your scans.

