QR Code Scanner - Scan with Camera or Upload Image
Camera, Mic & Media
Scan QR codes using your camera or decode from an uploaded image. Detects URLs, Wi-Fi, vCards, and more. 100% client-side, nothing uploaded.
Keep the camera running after a match and collect unique results in this tab's session history.
How to use this tool
- Optionally enable "Scan continuously" if you want the camera to stay on after a match.
- Click "Start Camera" to open your webcam, or click "Upload Image" to select a file.
- Point the camera at a QR code or upload an image containing a QR code.
- Review the decoded content. For links, check the protocol, destination host, path, and full URL.
- Choose Open URL or Copy when you are ready; use session history to restore earlier scans.
How QR code scanning works in the browser
This tool reads QR codes from camera frames or uploaded images. When your browser provides the BarcodeDetector API, it asks the browser to detect the QR symbol. Otherwise, the page uses jsQR, a JavaScript decoder that runs in your browser. The scanner is for QR codes; use the Barcode Scanner for one-dimensional formats such as UPC or EAN.
For example, when checking a flyer before printing, scan the code once to verify its contents or enable continuous scanning to check several proofs in a row. Continuous mode keeps the camera running after each match, ignores repeated detections of the same code, and adds new results to a session list capped at 20 entries.
Supported QR code formats
- URL – web links (http:// or https://)
- Wi-Fi – SSID, password, and security type
- vCard – contact cards with name, phone, email
- Geo – latitude / longitude coordinates
- Email – mailto: links
- SMS / MMS – pre-filled text messages
- Phone – tel: links
- Plain text – any other string
Your camera feed never leaves your device
QR detection and image decoding happen locally. Camera frames, uploaded files, and decoded text are not sent to a server. In one-scan mode, the camera stops when it finds a code. In continuous mode it remains on until you stop it or leave the page. Session history stays in the current tab's memory and clears when you leave or refresh; it is not saved to localStorage.
Safety warning for scanned URLs
Malicious QR codes can link to phishing sites, trigger automatic file downloads, or execute deep-link actions on your device. Best practices:
- Review before opening: check the protocol, destination host, path, and full decoded URL shown above the Open button, especially for codes on public signs, menus, or parking meters.
-
Look for homoglyph substitutions (e.g.,
paypa1.comvs.paypal.com) or unexpected domains. - If the URL is shortened (bit.ly, etc.), use a link preview service before visiting.
Browser compatibility note
Native BarcodeDetector support varies by browser and device, so the page checks for the API at runtime instead of relying on a browser name. If it is missing or fails, the scanner falls back to jsQR. The fallback may take longer on camera frames, particularly when a code is small or blurry. Bright, sharply focused images are easier for either decoder to read.
Frequently asked questions
Does this upload my camera feed or images?
No. Camera frames, uploaded images, and decoded content are processed in your browser. Continuous scan history stays in the current tab memory and clears when you leave or refresh; nothing is sent to a server.
What QR code types are supported?
URLs, Wi-Fi credentials (WIFI:), contact cards (vCard), geographic locations (geo:), email (mailto:), SMS, phone numbers (tel:), and plain text.
What if my browser does not support BarcodeDetector?
The tool falls back to jsQR, a JavaScript QR decoder that runs in your browser.
What does continuous scanning do?
When enabled, the camera keeps running after a match and adds new codes to a session history. Repeated detections of the same code are grouped, up to 20 results are kept in the current tab, and the list is cleared when you leave or refresh.
Related tools
- QR CodeCreate a plain QR code after verifying how codes scan on this device.
- QR Code CustomizerDesign a branded QR code and then return here to test readability.
- Wi-Fi QR GeneratorCreate a Wi-Fi connection code and verify its network details in the scan result.
- vCard GeneratorBuild a contact card QR code and scan it to check the encoded details.
- Barcode ScannerScan retail and inventory barcode formats instead of QR content.
- Webcam TestCheck focus and resolution if the camera cannot decode a code reliably.