Home › Tools › QR Code Scanner

QR Code Scanner

By iwantfreeqrcode.com Team

Point your camera at a QR code, or upload an image containing one, and read what is inside it. The scanner recognises links, WiFi credentials, contact cards, email addresses and more, and offers the right action for each. Everything happens in your browser, so nothing you scan is sent anywhere.

Quick Answer

A QR code scanner reads the black and white pattern of a QR code and converts it back into the text stored inside, which is usually a web link but can also be WiFi credentials, a contact card, or an email address. This scanner works two ways: a live camera feed that decodes automatically, or an image you upload. Both run entirely in your browser, so no photo or video frame is ever sent to a server.

Camera is off.
Press Start Camera below to begin scanning.
🖼️
Drop an image here or click to choose
PNG, JPG, WebP, GIF or BMP. A screenshot works fine.
Nothing leaves your device. The camera feed and any image you upload are decoded by JavaScript running in this page. No frame, file, or decoded result is transmitted anywhere, and the scan history below is held in memory only. Close the tab and it is gone.

This session's scans

Nothing scanned yet. Results will appear here as you scan.

Advertisement

Create a QR code WiFi QR generator vCard QR generator Batch QR generator Scan rate calculator

Frequently Asked Questions

Is this QR scanner safe and private?

Yes. Both the camera feed and any image you upload are processed entirely inside your browser using JavaScript. No video frame, no photo, and no decoded result is ever transmitted to a server, because there is no server involved in the scanning at all. You can prove it by loading this page, disconnecting from the internet, and scanning anyway. It still works. The scan history is held in memory only and disappears the moment you close the tab.

Why is my camera not working?

The three usual causes are permission, security context, and another app holding the camera. Browsers only allow camera access on pages served over HTTPS, so an insecure page will fail before it asks. If you denied permission earlier, the browser remembers that and will not prompt again, so you need to clear it from the padlock or site settings menu in the address bar. Also close any other tab or app using the camera, since most systems only allow one at a time. Upload mode always works regardless.

Can I scan a QR code from a photo instead of the live camera?

Yes, and it is often more reliable. Switch to Upload mode and drag in a screenshot, a photo, or any image file containing a QR code. This is the better option when the code is on the same screen you are using, when the code is printed small, or when lighting makes the live camera struggle. It also works on desktop machines with no camera at all.

What types of QR codes are supported?

Any standard QR code, since the underlying format is the same regardless of what it contains. This tool additionally recognises the common payload conventions and offers a matching action: web links, WiFi network credentials, vCard and MeCard contact records, mailto email addresses, telephone numbers, SMS messages, and geographic coordinates. Anything that does not match a known convention is shown as plain text with a copy button.

Does this work on mobile?

Yes, and mobile is where camera mode works best because phone cameras autofocus at close range. The scanner requests the rear-facing camera by default, which is the one you want for scanning something in front of you. On iPhone, camera access inside a browser requires Safari or a browser using the Safari engine, and the page must be served over HTTPS. If the camera is unavailable for any reason, upload mode works on every device.

How the decoding works

A QR code stores data in a grid of light and dark squares called modules, with three large position markers in the corners that let a decoder work out the orientation even when the code is rotated or photographed at an angle. The decoder finds those markers, corrects the perspective, reads the grid back into bits, and applies Reed-Solomon error correction to repair any modules that were misread. That error correction is why a QR code still scans with a logo covering part of it or a coffee ring across one corner.

This page decodes using jsQR, a pure JavaScript decoder, and will use the browser's native BarcodeDetector API instead for the live camera feed where that API is available, since it is faster and does not need to run in JavaScript on every frame. The format itself is defined by ISO/IEC 18004 and was invented by Denso Wave.

Get fresh reads straight to your inbox

Get notified when we publish new articles. Unsubscribe anytime.