Skip to content
ForgePlug — Logo
barcode100% Browser-BasedNo SignupNo WatermarkUpdated Jul 2026

QR Code Scanner

A premium QR code scanner that works entirely in your browser. Scan QR codes using your webcam or mobile camera with live continuous scanning, upload an image file, drag and drop an image onto the page, or paste an image from your clipboard. Our scanner automatically detects URLs, email addresses, phone numbers, SMS messages, WiFi credentials, vCard contacts, calendar events, GPS locations, WhatsApp links, cryptocurrency addresses, and plain text. Results are displayed with contextual action buttons — open websites, call phone numbers, copy credentials, or download as text. All processing happens locally using jsQR — your images never leave your device.

Choose Scan Method

No Uploads

Everything stays in your browser

100% Client-Side

Powered by jsQR library

Zero Tracking

No analytics, no cookies, no data collection

Works Offline

No internet needed after first load

How QR Scanning Works

QR (Quick Response) code scanning uses image processing algorithms to detect and decode the pattern of dark and light modules in a QR code image.

01

Image Acquisition

The scanner captures an image from your camera, an uploaded file, a dragged image, or a clipboard paste. The image is rendered to an HTML canvas element for pixel-level access.

02

Grayscale Conversion

The color image is converted to grayscale using luminance weighting. This reduces noise and makes the QR code's black-and-white pattern more distinct for the decoding algorithm.

03

QR Detection

The jsQR library scans the image data looking for the three distinctive finder patterns (eyes) in the corners of a QR code. These patterns identify the QR code's position, size, and orientation.

04

Module Grid Extraction

Once the finder patterns are located, the algorithm determines the QR code's grid size (version) and samples each cell to determine whether it's dark or light, creating a binary matrix of the code's data.

05

Error Correction & Decoding

The binary data is processed through Reed-Solomon error correction to recover any damaged or obscured bits. The corrected data is then decompressed and decoded according to the QR code's encoding mode (numeric, alphanumeric, byte, or kanji).

06

Result Display

The decoded text is displayed with automatic content type detection. Contextual action buttons allow you to open URLs, send emails, call phone numbers, copy credentials, or download results — all without leaving your browser.

QR Scanner Use Cases

Practical ways to use QR scanning in your daily workflow

Contactless Payments

Scan QR codes at restaurants, stores, and events to make payments or access digital menus without physical contact.

WiFi Sharing

Quickly share WiFi credentials by having guests scan a QR code instead of typing long passwords manually.

Event Check-In

Scan QR codes on tickets or badges for fast, paperless event entry and attendee verification.

Verify QR Security

Scan unknown QR codes to preview their content before visiting links — avoid phishing and malicious redirects.

Extract Contact Info

Scan vCard QR codes on business cards to instantly save contact details to your phone without manual entry.

Quick File Sharing

Upload or paste QR code images from screenshots, social media, or emails to instantly decode their content.

Supported Input Formats

All formats accepted by the QR scanner

CameraPNGJPG/JPEGWEBPGIF

Frequently Asked Questions

Everything you need to know about scanning QR codes with ForgePlug

I can't scan a QR code off my laptop screen with my phone — why is this so hard?
Screen-to-camera scanning fights glare and moiré interference in a way paper doesn't. Turn the screen brightness up, tilt it slightly off a dead-perpendicular angle to break the reflection, and back the phone up a bit instead of filling the frame. If it still won't cooperate, take a screenshot of the code and upload that image directly — a static screenshot skips the whole problem.
Does the scanner recognize what kind of data a QR code holds?
Yes — URLs, WiFi credentials, vCard contacts, calendar events, GPS coordinates, crypto addresses, and plain text are all auto-detected, and the result shows contextual actions matched to the type (open the link, offer to connect to WiFi, etc.) rather than just dumping raw text.
Is anything I scan — camera feed, upload, or paste — sent to a server?
No. Decoding happens locally with the jsQR library right in your browser tab. Nothing about the image or video feed is transmitted anywhere.
A code with a logo in the middle won't scan — is that expected?
It can be. QR codes use error correction that can reconstruct some missing or obscured data, but a large logo relative to the code size, combined with a low-resolution source image, can push past what error correction can recover. Try a higher-resolution source image if you have one.
Does scan history get saved anywhere?
Only in memory for the current browser tab — it clears when you close the tab, and nothing is ever written to a server or persistent storage.

Scanning a QR code off a screen instead of paper — why it's fussier

Glare is the actual enemy here, not code complexity.

Most people reach for a QR scanner tool like this one specifically because their phone's built-in camera scanner failed on something — usually a code displayed on someone else's screen (a laptop during a video call, a projector slide, another phone). Screen-to-screen scanning is genuinely harder than paper-to-camera, and it's worth knowing why so you're not just repeatedly failing the same way.

How it works

The decoder here (jsQR) starts by hunting for the QR code's three large square "finder patterns" in the corners of the image — a very specific dark-light-dark-light ratio that's designed to be recognizable at almost any rotation or skew. Once it locks onto those three squares, it uses their positions to figure out exactly how the whole grid is oriented and scaled, then reads the small data modules inside according to that geometry. This corner-pattern approach is why QR codes tolerate rotation so well compared to 1D barcodes — you don't need to line the code up perfectly, just get all three finder squares clearly visible.

Where screen scanning goes wrong

A code on a laptop screen photographed by a phone camera introduces two problems paper doesn't have: moiré interference between the screen's pixel grid and the camera sensor's own pixel grid (which can visibly distort the fine grid lines of the QR pattern), and glare from the screen's own backlight reflecting the room's lighting back into the lens. The fix for both is usually the same — increase the screen's brightness, tilt the screen or the phone slightly off a perfectly perpendicular angle to break up the reflection, and back up a bit rather than filling the frame edge-to-edge, which gives the decoder more surrounding context to lock onto the finder patterns.

Common mistakes

  • Getting too close. Filling the frame with just the QR code, with no margin, can actually hurt — the decoder benefits from a bit of surrounding space (the "quiet zone") around the code, and getting too close can also throw off focus on some phone cameras.
  • Not accounting for high error-correction codes that are mostly logo. Some QR codes have a logo overlaid in the center, which works because QR error correction can reconstruct missing data — but only up to a point. If the logo is large relative to the code, or the code was already low-resolution, scanning can fail even though it looks fine to your eye.
  • Assuming a scan failure means a bad QR code. If live camera scanning keeps failing on a screen, try taking a plain screenshot of the code and uploading that as an image instead — a single sharp static image often succeeds where a live reflective feed doesn't.

Frequently Asked Questions

Everything you need to know about scanning QR codes

I can't scan a QR code off my laptop screen with my phone — why is this so hard?
Screen-to-camera scanning fights glare and moiré interference in a way paper doesn't. Turn the screen brightness up, tilt it slightly off a dead-perpendicular angle to break the reflection, and back the phone up a bit instead of filling the frame. If it still won't cooperate, take a screenshot of the code and upload that image directly — a static screenshot skips the whole problem.
Does the scanner recognize what kind of data a QR code holds?
Yes — URLs, WiFi credentials, vCard contacts, calendar events, GPS coordinates, crypto addresses, and plain text are all auto-detected, and the result shows contextual actions matched to the type (open the link, offer to connect to WiFi, etc.) rather than just dumping raw text.
Is anything I scan — camera feed, upload, or paste — sent to a server?
No. Decoding happens locally with the jsQR library right in your browser tab. Nothing about the image or video feed is transmitted anywhere.
A code with a logo in the middle won't scan — is that expected?
It can be. QR codes use error correction that can reconstruct some missing or obscured data, but a large logo relative to the code size, combined with a low-resolution source image, can push past what error correction can recover. Try a higher-resolution source image if you have one.
Does scan history get saved anywhere?
Only in memory for the current browser tab — it clears when you close the tab, and nothing is ever written to a server or persistent storage.

Guides & Articles

Learn how to get the most out of this tool with our in-depth guides.

Tool Overview

A closer look at QR Code Scanner — how it works, who it's for, and where it fits in your workflow.

You don't need a dedicated app to read QR codes — the QR Code Scanner reads them straight from your browser. Point your webcam at a code for live continuous scanning, upload a screenshot or saved image, drag and drop a file onto the page, or paste from your clipboard. Whichever way the code arrives, it's decoded locally in milliseconds with no upload and no account.

The scanner recognizes more than just URLs. It detects email addresses, phone numbers, SMS messages, WiFi credentials, vCard contacts, calendar events, GPS coordinates, WhatsApp links, cryptocurrency addresses, and plain text — then offers the right action for each: open the website, call the number, copy the WiFi password, or download the contact. That contextual handling turns scanning from a curiosity into a genuinely useful workflow for checking codes you've generated, verifying a link before you click, or reading a menu code on a bright restaurant table.

Because decoding uses jsQR entirely in your browser, images of codes — including any personal or sensitive data they contain — are never transmitted. The scanner works with your camera on any device, from a phone in your pocket to a desktop webcam.

Key Features

Everything you get with this tool, at a glance.

Live Camera Scanning

Continuous webcam decoding — hold the code up and it's read instantly.

Upload & Drag-and-Drop

Read codes from saved images or screenshots without a camera.

Clipboard Paste

Paste a copied QR screenshot straight into the scanner.

Smart Content Detection

URLs, emails, phones, WiFi, vCards, events, crypto addresses and more.

Contextual Actions

Open, call, copy, save, or download — the right action for each code.

100% Local Decoding

Your images are processed in-browser with jsQR — never uploaded.

How to Use QR Code Scanner

Get from zero to done in four quick steps — no account, no learning curve.

  1. Grant camera access

    Allow camera permission to scan live, or use upload / paste for existing images.

  2. Frame the code

    Hold a QR code within the scanning area — it decodes automatically.

  3. Review the result

    Confirm what the code contains before taking any action on it.

  4. Use the smart action

    Open the link, copy credentials, or save the contact with one tap.

Practical Examples

Real input and output pairs so you know exactly what to expect.

Scan a URL code

Input

Image containing a QR that encodes https://forgeplug.com

Output

Detected: URL → 'Open link' action offered

Scan a WiFi code

Input

Image containing a QR that encodes a WiFi network

Output

Detected: WiFi → credentials shown with Copy

Unreadable image

Input

Blurry or low-contrast QR screenshot

Output

No code found — try a sharper image

Guides & Articles

Learn how to get the most out of this tool with our in-depth guides.

Was this tool helpful?

Your feedback helps us improve QR Code Scanner for everyone.

Share this tool

Share
Runs in your browser100% privateNo data uploaded