πŸ“· QR Code Reader

Decode QR codes from an image, the paste-from-clipboard shortcut, or your live camera. Auto-recognizes URL, WiFi, vCard, SMS, email, phone, location, and calendar events β€” with a one-click action for each.

πŸ–ΌοΈ

Drop image(s) with QR codes here

Or click to browse. Batch mode is supported β€” drop multiple images to decode them all at once.

PNG Β· JPG Β· WebP Β· GIF Β· SVG Β· BMP β€” up to 20 MB per file
Or press Ctrl+V to paste a QR image from your clipboard
Idle
Source
A source image with the QR code highlighted will appear here.
Decoded content
Waiting for a QR code β€” drop an image, paste from clipboard, or start the camera.
Scan history (this session)
No scans yet. Successful reads will be listed here.
Copied

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

1

Choose a source

Drop an image, paste from clipboard, or start your camera. Multiple images can be dropped at once for batch decoding.

2

Wait for the read

Decoding is instant. In camera mode we scan every ~200 ms and stop as soon as a QR is found.

3

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.

4

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.

Frequently Asked Questions

No. The camera frame is analyzed frame-by-frame in your browser using JavaScript. It never leaves your device. Verify by opening the browser's Network tab β€” no image data is transmitted while the scanner runs.
PNG, JPG, WebP, GIF, SVG, and BMP. Anything the browser can draw to a canvas. Screenshots from any tool work.
Common causes: image is too small (QR modules are less than 3 pixels), too blurry, at an extreme angle, low contrast, or has visual damage. Try a higher-resolution image, straighten it in an editor first, or crop to just the QR before uploading.
Yes β€” we try both normal (dark-on-light) and inverted (light-on-dark) automatically. Colored QR codes work as long as contrast between foreground and background is strong.
Yes β€” take a screenshot and paste it (Ctrl+V) or drop the file. Or on the same computer, use a snipping tool to copy the QR region and paste directly.
Only in your current tab's memory β€” the "Scan history" box below. It clears when you close the tab. Nothing is written to disk, cookies, or our servers.
Yes β€” no signup, no ads, no limits.