100% Free In-browser Image or camera

Free QR Code Scanner Online

Upload a QR image or use your live camera to decode QR codes. URLs, WiFi credentials, vCards, text, all supported. Browser based, no upload, no signup.

Scan a QR code in 3 steps

1

Upload or open camera

Drop a photo or screenshot containing a QR code, or grant camera permission for live scanning.

2

Instant decode

The QR is detected and decoded in your browser. Works on URLs, WiFi, vCards, email links, anything.

3

Copy or open

Copy the decoded text to clipboard, or click Open Link to visit the URL it contains.

A QR scanner that runs without an app

Modern phone cameras scan QRs natively, but only when you have your phone pointed at the physical QR. For a QR inside a screenshot on your laptop, an email attachment, or a PDF document, the phone camera approach does not work. This tool decodes the QR from any image right in your browser. Both image upload and live camera are supported, both stay completely local.

Image Upload
Screenshots, photos
Live Camera
Real-time scan
Stays Local
No upload
Instant
Decode in ms
FeatureJustDownSizeOthers
Image uploadYesCamera only
PrivacyBrowser onlyServer upload
Account neededNoRequired for history
App installNoneNative app push
AdsMinimalAggressive

What this QR scanner handles

Image File Upload

JPG, PNG, WebP, GIF, BMP. Screenshots, photos, even QRs inside posters or business cards. Anything your browser can display.

Live Camera Mode

Tap Use Camera, point at any QR, get the decoded text instantly. Works on phones and laptops with webcams.

All QR Content Types

URLs, WiFi credentials, vCards, mailto links, phone numbers, SMS, calendar events, plain text. Detects the type and shows a relevant action button.

Stays in Browser

Image decoding and camera feed both stay on your device. Safe to scan QRs containing private info like WiFi passwords.

Copy + Open Link

One-click copy to clipboard. If the QR contains a URL, the Open Link button takes you straight there in a new tab.

Tiny and Fast

Powered by jsQR, a compact JavaScript QR decoder. Decoding takes milliseconds even on a slow phone.

When you need to scan a QR online

QR inside a screenshot

Someone sends you a screenshot with a QR in it. You cannot point your phone camera at your laptop screen easily. Drop the screenshot here, get the decoded URL, and click through.

QR in PDFs or invoices

Payment QRs, invoice QRs, and booking confirmations often come inside PDFs. Screenshot the QR section and paste it here. The decoded payment URL or booking reference comes right out.

Tracking what a QR really points to

Before tapping a QR in the wild, decode it here first to see the actual URL. Safer than scanning an unknown QR on a public sticker (where attackers sometimes replace legitimate QRs with phishing ones).

Batch processing QR images

Have a folder of event tickets, each with a unique QR? Open each one, drop in the tool, copy the ID. Faster than firing up a phone camera for each.

Frequently asked questions

Upload a photo or screenshot containing a QR code, or click Use Camera to scan one in real time. The decoded text appears on screen with a copy and visit button.

Yes. No signup, no per-scan limit, no upgrade prompt. Scan as many as you want.

Every standard QR: URLs, WiFi credentials, vCards, email addresses, phone numbers, SMS, calendar events, plain text, and anything else encoded with the QR specification.

No. The QR decoding runs entirely in your browser using JavaScript. Your images never leave your device. The camera feed also stays local.

Common reasons: the image is blurry or too low resolution; the QR is partially cut off; there is too much glare or shadow; the contrast between QR and background is too low. Try a sharper photo from a different angle.

Yes. The Use Camera button asks your browser for permission, then shows a live feed with QR detection. Works on iPhone Safari and Android Chrome. The browser only uses the camera while this tab is open and never sends the feed anywhere.

JPG, PNG, WebP, GIF, BMP. Anything your browser can display. Screenshots from another app work the same as photos.

QR codes have built-in error correction that can recover up to 30 percent of damaged pixels. So minor scratches, glare, or partial obstruction usually still scans. If a quarter or more is missing, the QR may not decode.

Scan a QR code from an image or your camera, without an app

Phone cameras have been able to scan QRs natively since 2018. Point, scan, tap the notification, done. That works great for QRs on physical objects: a poster, a menu, a sticker on a coffee bag. It breaks down for QRs that live inside your other devices. A QR in a screenshot a friend sent you. A QR in an email confirmation. A QR inside a PDF invoice. A QR embedded in a digital ad on your laptop. For any of those, this tool is faster than firing up a phone camera and physically pointing it at a screen.

How browser-based QR decoding actually works

This tool runs jsQR, a JavaScript QR decoder that reads pixel data from a canvas and runs the same finder-pattern detection algorithm a phone camera would. It does not need any server contact. The image is loaded into a canvas, the canvas pixel data is passed to jsQR, and the decoded string comes back in milliseconds. The whole pipeline weighs about 50 KB of JavaScript and runs on any modern browser.

Live camera mode versus image upload

Image upload is for QRs that already exist as a file or screenshot. Live camera is for physical QRs you want to scan with your laptop webcam or phone camera through this page. The Use Camera button asks the browser for permission once, then shows a live preview with QR detection running roughly 4 times per second. As soon as a QR is in frame and decoded, the camera stops and the result appears.

The camera feed never leaves your browser. The browser only enables the camera while this tab is open and visible, and you can close the camera mode any time. We have no way to record or store what your camera sees.

Why decoding before clicking matters

Public QRs on signs, stickers, and posters can be tampered with. An attacker might cover a legitimate QR with a printed sticker pointing to a phishing site. If you scan an unfamiliar QR straight from a public surface, you might end up on a fake login page that looks like your bank or a fake delivery tracking page that asks for personal details. Decoding the QR first in this tool shows you the actual URL before you visit it. If the URL looks suspicious (long random redirector, typos in the domain, weird subdomain), do not visit.

QR content types this tool detects

Plain URLs (https://example.com), WiFi credentials (WIFI:T:...;S:...;P:...;;), vCards (BEGIN:VCARD...END:VCARD), email mailto links (mailto:you@example.com), phone tel links (tel:+15551234567), SMS links (SMSTO:...), and plain text. The decoded string is displayed with a type tag that tells you what kind of content was inside. URLs get an Open Link button. Everything else is copy-only because there is nothing useful to "open" for plain text.

When a QR will not scan

Blurry photos are the most common cause. The QR pattern needs to be sharp enough that the dark and light squares are clearly distinguishable. Heavy shadow or glare across the QR also blocks decoding. Partial QRs where more than 30 percent is cut off or missing are usually unrecoverable, since the error correction tops out at 30 percent. Very small QRs in a photo (where the QR is only 100 pixels wide) may need a higher resolution source image.

Pairing with other tools

If you need to make your own QR after decoding one, use the QR code generator on the same site. If the source image is HEIC from an iPhone, convert it with the HEIC to JPG tool first. To get a clear screenshot of a webpage for scanning, the website screenshot tool grabs any URL as a full-page image.