QR Code Scanner
Scan QR codes and barcodes with your camera or from an image. See the full link before you open it.
Point your camera at a QR code or barcode
Camera frames never leave your device
Read in this browser · stops at the first code
Drop an image here or paste it, or
Your images never leave your device
Processed in this browser · JPG, PNG, WebP, GIF, BMP, AVIF or HEIC · one at a time
Hold the code inside the square.
Reads QR codes and barcodes with your camera, or from a photo or screenshot you upload, drop or paste. It shows where a link really leads before anything opens, and reads Wi-Fi details, contact cards, UPI and Bharat QR payment codes, emails, phone numbers and map locations into plain fields. Camera frames and images are processed on your device: nothing is uploaded.
How to use it
- Camera — uses the rear camera where there is one, with a switch between cameras and the torch where the phone offers it. Hold the code inside the square, the middle 75% of the picture; scanning stops at the first code read, and the camera turns off when you leave the tab.
- Image — a photo or screenshot, iPhone HEIC included. Every code in it is listed in reading order and outlined on the picture. Large photos are read at 2,000 px on the longer side, then once more at up to 4,000 px if nothing is found, for a code that is small in the frame.
It reads QR, Micro QR, rMQR, Data Matrix, Aztec and PDF417 codes, EAN-13, EAN-8, UPC-A and UPC-E (with 2- and 5-digit add-ons), Code 128, GS1-128, Code 39, Code 93, ITF, Codabar and GS1 DataBar barcodes. Each result shows its format, its text to copy and, under Raw bytes, exactly what the code holds, for a code written in a character set the text does not show correctly.
Nothing opens by itself. A link shows its host in bold and opens only from Open link; a javascript: or data: address is shown as text and never opened. Calls, emails, messages and WhatsApp chats likewise wait for a button.
A UPI code shows the payee name, UPI ID, amount and note, and lists a merchant's other details as written. On a phone, Pay with a UPI app hands the code, exactly as scanned, to a UPI app, which shows the payee's name as their bank holds it before you enter your PIN. A Bharat QR or other EMVCo merchant code shows the merchant, city and amount, checks the code's checksum, and lists every field it holds.
Examples
A link that hides its host
- Scanned text
- https://mybank.com@secure-login.example/verify
- Opens
- secure-login.example
Everything before the @ is a user name for the site, not the site itself. The scanner shows secure-login.example and warns that the address starts with mybank.com@.
A look-alike address
- Scanned text
- https://аpple.com/account
- Opens
- аpple.com (xn--pple-43d.com)
The first letter is the Cyrillic а, not the Latin a. The browser sends the name as xn--pple-43d.com, its Punycode form; the scanner shows both and warns that the address uses letters outside a–z.
Frequently asked questions
See also
- QR Code Generator — to make a QR code for a link, contact, Wi-Fi or location.
- UPI QR Code Generator — to make a UPI code for your own UPI ID, with a Scan & Pay poster.
- Wi-Fi QR Code Generator — to make a code that joins your Wi-Fi, with a printable card for guests.
- WhatsApp Link Generator — to make a link and QR code that open a WhatsApp chat with you.
- Barcode Generator — to make EAN, UPC, Code 128 and ISBN barcodes with correct check digits.