The QR Code Scanner reads what is stored inside a QR code. You can upload a picture that contains one, such as a screenshot or a photo from your gallery, or scan live with a camera. When a code is read, the page shows its text with a copy button, and if the text starts with http:// or https:// an "Open link" button appears too. It only reads codes. It does not create them, and it does not judge whether a code's content is safe.
How to use it
- Click "Upload image to scan" and choose a picture containing a QR code. The picture is shown on the page and scanning starts straight away.
- On success, the "Scan result" section shows the complete text from the code. Use the copy button at the top right of that section to copy it.
- If the result is a web address, "Open link" opens it in a new tab. Check that the address looks trustworthy before you visit it.
- If nothing is found, the page says "No QR code was detected in the image". Try a sharper picture, or one where the code fills more of the frame.
- The "Scan with camera" button is for live scanning. It asks the browser for camera permission, stops by itself once a code is read, and turns into "Stop camera" while running so you can stop it manually.
- While the page stays open, every different result is added to a history list below (up to 10 entries). Click an entry to show it again. The list lives only on this page and disappears when you leave.
A practical scenario
Suppose a friend sends you a screenshot of an event poster with a QR code and you are at a computer, with no phone to scan it. Save the screenshot, click "Upload image to scan", and the address or text inside appears almost immediately. Copy it and paste it into your browser. It is also a safer habit when you want to know where a code leads before visiting: read the code here, check the full address, and only then decide whether to click "Open link", instead of letting a phone camera jump straight to the page.
Supported range and known limits
- Decoding is done by the jsQR library and covers standard QR codes only. Barcodes, Data Matrix, mini-program codes and other symbologies are not supported.
- Only one result is returned per image. If a picture holds several QR codes you cannot be sure which one is read, so crop out the one you want first.
- Tiny, blurry, glare-covered, heavily distorted or partly hidden codes often fail. If the code occupies a small part of the picture, crop or enlarge it before uploading. Decorative codes with colours or embedded logos may not be readable.
- The tool shows the raw text only. It does not interpret Wi-Fi, contact-card or payment formats, and it performs no safety checks. "Open link" only appears when the text begins with http:// or https://.
- Camera scanning needs camera permission, requires the page to be served over HTTPS or localhost, and needs a working camera; when the camera cannot be obtained, the page says "Unable to access the camera, please check your browser permission settings". An earlier bug where the camera picture was never attached to the video element has been fixed in the code (the video element now always exists and is only shown while scanning), but we have not tested camera scanning on a real device, so we cannot promise it works in every browser and on every device. If camera scanning does nothing, use "Upload image to scan" with a photo or screenshot of the code instead.
- The history keeps at most 10 entries in page memory only. It is cleared on refresh or when you leave, and it only becomes visible once there are at least two different results.
FAQ: Why does it say no QR code was detected?
Image quality is the usual cause: low resolution, a very small code, blur, screen glare, or a code that has been partly cropped off. Try the original, sharper file, or crop and enlarge the area around the code before uploading. The tool also only understands standard QR codes, so a barcode or another kind of 2D code will produce the same message.
FAQ: Is it safe to open the address a code gives me?
Do not open it blindly. A QR code is just text, and the address inside might lead to a phishing page or a misleading download. The tool displays the full content precisely so you can check the domain first. "Open link" simply opens the address in a new tab; the tool does not check whether the destination is safe.
FAQ: What if the code contains a Wi-Fi password or a contact card?
You will see the raw text, but it is not reformatted. A Wi-Fi code typically comes out as text beginning with WIFI: followed by network name and password fields, and a contact code appears as vCard text. You can copy and read it, but the tool will not connect you to a network or import a contact.
FAQ: Can it read several codes at once?
No. Each scan produces a single result. If an image has several codes, crop each into its own picture and upload them one by one. The results from the current visit are listed in the history so you can compare them.
Privacy and how files are processed
Reading an image happens in your browser. The picture is drawn onto a hidden canvas on the page and analysed by the jsQR library running locally, with no upload involved. The tool does not send your images or the decoded text to a server, and in camera mode the video frames are likewise handled locally. The scan history is kept only in the page's memory and is not written to browser storage, so refreshing or closing the page clears it.