Camera, Mic & Media
QR Code Scanner - Scan with Camera or Upload Image
Scan QR codes using your camera or decode from an uploaded image. Detects URLs, Wi-Fi, vCards, and more. 100% client-side, nothing uploaded.
How QR code scanning works in the browser
This tool uses the BarcodeDetector API available in modern Chromium-based browsers (Chrome, Edge, Opera) to detect QR codes directly from your camera stream or an uploaded image. On other browsers a pure-JavaScript fallback is used.
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
All QR code detection happens locally in your browser. No images, no video frames, and no decoded data are ever sent to a server. The camera is only active while you are scanning and stops automatically when a code is found.
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:
- Preview before tapping: always read the full decoded URL before following it, especially from physical QR codes in public places (restaurants, parking meters, posters).
-
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
This tool uses the BarcodeDetector API where available (Chrome, Edge, and other Chromium-based browsers on desktop and Android). On Safari (iOS 16.4+) the native BarcodeDetector is supported. On older Safari and Firefox a pure-JavaScript fallback library (ZXing / jsQR) is used instead. The JavaScript fallback is slightly slower for camera-stream scanning but produces identical results for uploaded images.