About QR Code Reader
QR Code Reader is a free browser-based tool that decodes QR codes from any image file, your clipboard, or a live camera feed. It automatically detects the type of encoded content β URL, WiFi credentials, vCard contact, SMS draft, email draft, phone number, GPS location, or calendar event β and gives you a one-click action to open, save, or copy it.
Everything runs entirely in your browser using a self-hosted decoder (jsQR). No image, no camera frame, no decoded content is ever uploaded β safe for confidential WiFi passwords, private contact cards, and internal URLs.
100% client-side: the decoder runs on your device. Camera frames are analyzed in-browser and never leave your machine. Even the pasted image is decoded locally.
How to use QR Code Reader
Choose a source
Drop an image, paste from clipboard, or start your camera. Multiple images can be dropped at once for batch decoding.
Wait for the read
Decoding is instant. In camera mode we scan every ~200 ms and stop as soon as a QR is found.
Take action
WiFi codes show the password + one-click copy. vCard shows contact details + a .vcf download. URL codes get a preview + "Open in new tab" button.
Check history
Every successful scan is added to your session history below (cleared when you close the tab).
Key Features
3 input methods
Image upload β drop or click to select PNG, JPG, WebP, GIF, SVG, BMP up to 20 MB. Camera scan β real-time decoding from your device's camera, with front/back toggle. Clipboard paste β Ctrl+V any QR screenshot straight from your clipboard.
Auto-detects 9 content types
URL, plain text, WiFi credentials (SSID + password + security), vCard contact, email (mailto), phone (tel), SMS draft, GPS location (geo), calendar event (VEVENT). Each type renders with the right fields and buttons.
One-click actions per type
URL β Open in new tab. WiFi β Copy password / Copy SSID. vCard β Download as .vcf to import into Contacts. Email/SMS/Phone β Launch mail/messaging/dialer app. Location β Open in Google Maps. Event β Download as .ics for Calendar. Text β Copy to clipboard.
Batch decoding
Drop multiple images at once β get a table of decoded values with per-row actions. Perfect for scanning stacks of tickets, business cards, or inventory tags.
Bounding-box preview
The source image renders with the QR code outlined so you can see exactly which one was decoded when the image contains multiple.
Live camera with flip
Uses getUserMedia for real-time scanning. Toggle between front and back cameras on phones. The scanner overlay shows a moving line so users know it's working.
Session scan history
Every successful decode is logged in-browser so you can revisit or copy previous reads. History clears when you close the tab β nothing persists.
Common Use Cases
- Reading a QR shown on a screen you can't scan with your phone
- Extracting the URL a printed QR points to before scanning with your phone
- Auditing a marketing flyer β checking the destination URL, campaign UTM tags, or landing page
- Decoding a WiFi QR when your phone can't focus on it
- Reading a vCard QR and importing to Contacts
- Verifying that a QR code you generated actually decodes to the right value
- Batch-decoding stacks of tickets, business cards, or inventory tags from photos
- Reading QR codes embedded in PDFs (screenshot + paste)
- Recovering the destination of a suspicious QR before opening it on a phone
- Extracting calendar events from event tickets in one click
Security & Privacy
- 100% client-side: decoding runs in your browser via jsQR. No image, camera frame, or decoded content ever touches our servers.
- Works offline: once the page loads, disconnect and it still works.
- Camera access is optional: only requested when you click "Start scanning". You control the permission.
- No logging of content: scan history stays in memory only and clears when the tab closes.
- Watch for malicious QR codes: A QR is a link, not a promise. Always preview the URL before opening β attackers often use QR codes to hide phishing links. This reader shows you the destination first.
- Camera on public devices: if you're on a shared computer, deny camera permission and use image upload instead.