QR Code Scanner

Scan QR codes with your camera, or QR codes and barcodes from an image

Click, drop, or paste (Ctrl+V) a QR code image here

About QR Code Scanner

QR Code Scanner reads codes in three ways: live from your phone or laptop camera, from a picture you upload or drop, or from a screenshot you paste. The camera reads QR codes with jsQR. A picture goes to zxing-cpp first, which also finds barcodes such as EAN-13, UPC, Code 128, Data Matrix, PDF417, and Aztec, up to 20 in one image, then to jsQR if nothing was found. The decoded text appears with a Copy button, and web addresses get an Open link button. Pictures and camera frames are decoded in your browser.

How to scan a QR code from the camera or a picture

  1. 1Click "Scan with camera" and allow the camera; scanning stops by itself once a QR code is read, and "Camera" switches lenses when you have several.
  2. 2Or click "Upload an image", drop a picture on the dashed box, or press Ctrl+V to paste a screenshot.
  3. 3On a phone, copy the picture (in Photos: Share, then Copy), then tap "Paste image" or long-press the paste box and choose Paste.
  4. 4Read the text, pick another code if several were found, then use "Copy" or "Open link".

Formats and limits

Image input
Any picture your browser can open (image/*); pictures above 12 MP are reduced to 12 before reading
Formats read in pictures
QR Code, Micro QR, Data Matrix, Aztec, PDF417, EAN-13, EAN-8, UPC-A, UPC-E, Code 128, Code 39, Code 93, ITF, Codabar, and the other formats of zxing-cpp
Codes per picture
Up to 20, each listed with its format
Live camera
QR codes only, about 10 reads per second; needs an https page and your permission
Time limit
zxing-cpp gives up after 20 seconds, then jsQR tries the picture

Common uses

A QR code on your own screen
A code in an email, a PDF ticket, or a web page on your computer: take a screenshot and press Ctrl+V on this page, with no phone needed.
Checking a link before visiting it
A QR code on a parking meter, a poster, or a letter: read the full address here first, and open it only if the domain is the one you expect.
A barcode number from a product photo
A photo of a package gives the EAN-13 or UPC-A number under its barcode as text, to copy into an inventory sheet or a search.
A Wi-Fi sticker on a router
Photograph the Wi-Fi QR code on a router or a café table, and the page shows the network name and password it holds, ready to type on a laptop.

Which tool to use

  • QR Code Generator: QR Code Generator goes the other way: it makes a QR code from a link, text, Wi-Fi details, a contact, or a map location. Use it to make a code and this page to read one.
  • Barcode Generator: Barcode Generator draws EAN, UPC, Code 128, Data Matrix, and other codes from what you type; this scanner reads those types back from a photo.
  • URL Parser: When a scanned code holds a long address, URL Parser splits it into host, path, and each query parameter, decoded, so tracking tags and the real destination are easy to tell apart.

Where your image is processed

Pictures and camera frames are decoded on your device, by zxing-cpp, a WebAssembly file served from this site, and by jsQR; no image, frame, or decoded text is uploaded. When a camera, clipboard, or picture error is shown, its message, cleaned of names and long numbers, is sent to our error log with the tool's name and your browser's name and major version.

Frequently asked questions

Can it read barcodes, not only QR codes?

Yes, from a picture: EAN-13, EAN-8, UPC-A, UPC-E, Code 128, Code 39, Code 93, ITF, Codabar, Data Matrix, PDF417, Aztec, and Micro QR among others, up to 20 in one image, each shown with its format. The live camera reads QR codes only.

Can I scan without giving camera access?

Yes. Upload, drop, or paste a photo or a screenshot instead. The camera needs a secure https page and your permission; when access is refused, no camera is found, or another app is using it, the page says which and suggests a photo.

Can it read a light code on a dark background?

Yes. Pictures are also tried with their colors inverted, and the camera reader tries every frame both as it is and inverted, so white codes on black screens or dark labels are found too.

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

No, not blindly: a code can hide a harmful address. The page shows the full text first, offers "Open link" only for http and https addresses, and opens it in a new tab without telling that site which page sent you.

What happens with a Wi-Fi, contact, or plain text QR code?

The page shows the text stored in the code, as it is: a Wi-Fi code starts with WIFI: and holds the network name and password, and a contact card starts with BEGIN:VCARD. It does not join the network or save the contact; "Open link" appears only for addresses starting with http or https.

Do I need to crop the picture around the code?

Usually not: zxing-cpp searches the whole picture, rotated and inverted too. Cropping helps when the code is small inside a large photo, since pictures above 12 MP are scaled down first.

Can it read several codes in one picture?

Yes, up to 20 from a picture, such as a shipping label with a QR code and several barcodes. Each is listed with its format; click one to show it in full with its "Copy" button. The camera stops at the first QR code it reads.

Why is no code found?

The usual causes are blur, glare, a code cut off at the edge of the picture, or one too small in the frame. A barcode needs a photo, because the live camera reads QR codes only.

Tips and tricks

  • ✓If a large photo fails, crop tightly around the code: a picture above 12 MP is reduced before reading, which shrinks a small code with it.
  • ✓To make a code of your own, use the QR Code Generator for QR codes or the Barcode Generator for EAN, UPC, and the other types.