Skip to content

QR Code Scanner

Point your camera at a QR code, or drop in a photo or screenshot. You see exactly what it says, and where a link really goes, before anything opens.

Drop a QR code image here

or paste a screenshot (Ctrl+V, ⌘V)

Read on this device. Nothing is uploaded, and the camera stops as soon as a code is read.

ExampleLink

example.com

An encrypted (https) link. Make sure this is the site you expect before you open it.

An example: scan a code of your own and its contents replace this.

https://example.com/menu?table=12

Exact text in the code33 characters
How this works: Method, 10 sources, Checked against 3 worked examples,

How this works

Method

A picture or camera frame is decoded on this device, by the browser’s own barcode detector where it has one, else by the open-source jsQR decoder (a still image is retried smoothed and at half size). The text is shown, never opened: a link’s real domain is found with common Public Suffix List endings and checked for short links, look-alike letters, text before an @, IP addresses and plain http. New codes are encoded as UTF-8 in the smallest version that fits, then decoded again to check they read back.

How it’s tested

3 worked examples for this page are checked by automated tests before every release: given the inputs, the tool must show the expected answer.

Changes

  • First version: a scanner for camera, photos and screenshots with link checks, and generators for links, text, Wi-Fi and contacts with SVG and PNG downloads.

How we make toolsReport a mistake

Worked example: the code for https://example.com/menu?table=12

The example code holds 33 characters: https://example.com/menu?table=12. It starts with https://, so the scanner treats it as a web link and reads it the way a browser will.

The host is example.com. Its registrable domain, the part that decides who runs the site, is example.com, so that is what the result highlights. It raises no warnings: it is https, it has no short-link service, no international letters, nothing before an @ and no raw IP address. Nothing opens until you choose Open link.

How the scanner reads a code

A QR code is a grid of dark and light squares called modules. Three large squares in the corners tell a reader where the code is and which way up it sits; the reader then samples every module, undoes the mask that keeps the pattern even, corrects damaged parts with the Reed–Solomon error correction built into the code, and turns the bits back into text. All of that is defined in ISO/IEC 18004.

On this page, the reading happens on your device. Where your browser has a built-in barcode detector (Chrome on Android, macOS and ChromeOS), the page asks it first. Everywhere else it loads a small open-source decoder, jsQR, the first time it’s needed. With the camera, frames are read straight from the video into the page several times a second; they’re never recorded, saved or sent.

A code only holds text. Phones agree on a few patterns inside that text: a web address starts with https://, Wi-Fi details start with WIFI:, a contact card with BEGIN:VCARD. The scanner recognises these and shows each one in its own way, but it never opens a link or joins a network by itself: you see the text first and decide.

What the scanner recognises

Each kind of QR code content, how it starts, and what the scanner shows and offers for it.

Each kind of QR code content, how it starts, and what the scanner shows and offers for it.
KindStarts withWhat you seeWhat you can do
Web linkhttps:// or http://The full address, the real domain highlighted, and warningsOpen link (after you check it), copy
Wi-Fi networkWIFI:Network name and security; password hidden until you tap ShowCopy password
Contact (vCard)BEGIN:VCARDName, company, phones, emails, websiteSave contact (.vcf), copy
Contact (MECARD)MECARD:Name, phones, emails, addressSave contact (.vcf), copy
Emailmailto: or MATMSG:Address, subject and messageCopy
Phone call or texttel:, sms:, smsto:The number and any messageCopy
Map locationgeo:Latitude and longitudeCopy
Two-factor setupotpauth://The service and account; the secret stays hiddenScan it with your authenticator app instead
Anything elseany other textThe exact textCopy

Frequently Asked Questions

How do I scan a QR code on my laptop?

Choose Scan with camera and hold the code up to your webcam, close enough to fill a good part of the frame but not so close that it blurs. If the webcam can’t focus that close, take a photo of the code with your phone and drop the photo here instead, or take a screenshot if the code is on your screen and paste it with Ctrl+V (⌘V on a Mac).

Why won’t my camera start?

Usually the browser has blocked it for this site. Click the camera or lock icon next to the address, allow the camera, and press Scan with camera again. If another app (a video call) is using the camera, close it first. On a computer with no camera, upload or paste an image instead: it works the same way.

Is it safe to open a link from a QR code?

Only once you’ve checked where it goes. The scanner shows the whole address and highlights the domain, the part that decides who runs the site, and warns about short links that hide the destination, look-alike letters and unencrypted http pages. If a code on a poster or meter asks you to log in or pay, go to the company’s site yourself instead.

Does this scanner upload my images?

No. The image or camera frames are decoded inside this page, and the footer’s “On this device” counter shows 0 uploads while you use it. Once the page has loaded it also works offline.