Free tool · Works in your browser
QR Code Scanner (Free)
Read a QR code from a screenshot, a photo or your camera, and see exactly what it contains before you act on it. The image is decoded in your browser and never uploaded. Links show their domain and full address first, and nothing opens until you choose.
- No sign-up
- Never uploaded
- Several codes per image
- Image, paste or camera
Scan a QR code
Drop an image of a QR code here
or paste a screenshot with Ctrl+V (⌘V on a Mac)
Read on this device. The image is never uploaded.
Starting the camera…
How to scan a QR code from an image
Add the image
Drop an image onto the scanner, choose a file, or paste a screenshot with Ctrl+V (⌘V on a Mac). On a phone, Choose image lets you pick a photo or take a new one.
Or use your camera
Select Use camera, allow access, and hold the code inside the frame. The camera stops as soon as a code is read.
Check what the code contains
The scanner shows what kind of content it is (a link, WiFi details, a contact card, an email, a phone number, a location, an event or plain text) and its details. For a link, read the domain first.
Act on it, or don’t
Open the link, copy the content or save the contact only if it is what you expected. Nothing happens until you choose.
What the scanner shows
A QR code only stores text. What your phone does with it depends on how that text starts, so the scanner works out the type and lays out its parts:
- Links show the domain on its own line, then the full address. The scanner points out links that aren’t encrypted (http instead of https), addresses with a user name before an @ sign, international domains that could imitate a familiar one, and links to a bare IP address.
- WiFi codes show the network name, password and security type. A web page can’t join a network for you, so copy the password into your WiFi settings.
- Contact cards in vCard or MeCard format list the name, phone numbers, emails and address; a vCard can be saved as a .vcf file for your contacts app.
- Email, text message, phone and map codes show who they write to or call and what they say. Calendar codes show the event and can be saved as an .ics file.
- Anything else is shown as plain text. Codes for other apps, such as two-factor setup or payment requests, are shown but never opened.
Each result also lists the code’s format (QR, Micro QR or rMQR), its version and size in modules, and its error correction level. The scanner reads up to 12 codes in one image and numbers them on the picture. It also reads inverted codes (light on dark) and says so, since not every phone camera can.
Check the link before you open it
Scanning a code is harmless in itself; the risk is what it opens. Fake codes printed on stickers and stuck over real ones on parking meters and restaurant tables, and codes in emails you weren’t expecting, lead to lookalike login and payment pages. This is known as quishing.
That’s why this scanner never opens anything by itself. A link gets an Open link button, and its domain is shown separately so a lookalike stands out: yourbank.com and yourbank-secure-login.com are different sites. Opened links go to a new tab without passing on this page’s address. Read QR code security: quishing and how to scan safely for the warning signs.
Your image stays on your device
The scanner uses ZXing-C++, an open-source port of the widely used ZXing barcode reader, compiled to WebAssembly so it runs inside your browser tab. CirculateQR uses the same library on its servers to check that its AI QR art scans. If your browser can’t run it, the scanner falls back to jsQR, a JavaScript decoder.
The only thing your browser downloads is the decoder itself, just under 1 MB, from this site. It isn’t part of the page load: it is fetched when you point at, focus or use the scanner. Images and camera frames are drawn and read in memory on your device. Neither the image nor what the code contains is sent to CirculateQR or anyone else, unless you choose to open a link.
Tips when a code won’t scan
- Crop to the code. A large photo with a small code in one corner is harder to read than a close crop with a little blank space around the code.
- Use even light. Glare from glossy paper or a screen, or a shadow across the code, hides modules.
- Use a sharp image: taken straight on, in focus, and at a decent resolution. A blurry zoomed-in crop rarely works.
- For a code on a screen, take a screenshot rather than photographing the screen, which adds moiré patterns and reflections.
- Keep the blank border (the quiet zone). A code cropped right to its edge, or touching text or another image, may not be found.
- A damaged, scratched or heavily designed code may be past what its error correction can repair. A clearer image of the same code is the only fix.
The scanner reads QR codes, including Micro QR and rMQR. It doesn’t read other barcodes, such as the EAN and UPC barcodes on products, or Data Matrix codes. If a code you printed is hard to read on phones, check its size with the QR code size calculator.
QR code scanner questions
Is this QR code scanner free?
Yes. It is free, needs no sign-up, and has no limit on how many codes you scan, because the work happens in your own browser.
Are my images uploaded?
No. The image is decoded by a decoder running in your browser tab, so it never leaves your device. Your browser downloads the decoder from this site before your first scan; nothing about the image or the code’s content is sent back.
Can it read several QR codes in one image?
Yes, up to 12 at once. Each code is listed with a number that matches a marker on your image. If your browser can’t run the main decoder, a backup decoder takes over that reads one code per image, and the scanner tells you when that happens.
How do I scan a QR code on my own screen without a phone?
Take a screenshot and paste it here. On Windows, Windows+Shift+S copies a screenshot of an area you select; on a Mac, Command+Control+Shift+4 does the same. Then press Ctrl+V or ⌘V on this page, or save the screenshot and drop the file onto the scanner.
Why won’t my QR code scan?
Usually the image is blurry, too small, too dark or has glare, or the code was cropped without its blank border. Try the tips on this page. If a printed code fails on phones too, it may be printed too small for the distance people scan it from; the QR code size calculator shows the minimum.
How can I tell if a QR code is safe to open?
Look at the domain the scanner shows, not just the start of the link, and check it belongs to the organization you expect. Be wary of codes on stickers stuck over something else, of links that ask for a password or a payment, and of addresses with extra words, hyphens or swapped letters.
Related
- QR code security and quishingHow fake codes work and how to scan safely
- QR code size calculatorHow big to print a code for its scanning distance
- Free QR code generatorMake a code for a link, WiFi, a contact and more
- Error correction levelsWhat L, M, Q and H mean and why codes survive damage
- How WiFi QR codes workThe WIFI: format and how to make one
- vCard QR codesContact details in a code, vCard vs MeCard