Skip to content

QR Code Reader (Image & Screenshot)

Read a QR code from a photo or screenshot, no camera needed. See URLs, Wi-Fi and contacts clearly, and a link's address before you open it. Nothing is uploaded.

Result

Add an image that contains a QR code and its contents will appear here.

For example: a phone screenshot, a QR image someone sent you, a photo of a poster

Files are processed only on this device and are never uploaded to a server. How it works

A QR code decoded to reveal its website address

How to use

Drag an image that contains a QR code onto the box above, click it to choose a file, or copy a screenshot and paste it into this page with Ctrl+V. The QR code is found and read as soon as you add the image, and its position is outlined in green on the preview. The contents are laid out according to their format, with a copy button for each item. Expand “Show raw text” to see the exact string stored in the code. Files can be up to 20 MB and images up to 50,000,000 pixels.

The jsQR reading library is downloaded from this site after you add an image and runs in the browser. Decoded Wi-Fi passwords and contacts are not saved separately.

When you need to read a QR code without a camera

  • A QR code on your own phone’s screen: you can’t point your phone’s camera at a code shown in an app or web page on that same phone. Take a screenshot and add it here.
  • A QR image sent by message or email: save or copy the image and add it — no printing and no second device needed.
  • A QR code you see on your computer: capture it and paste it here to check the link or Wi-Fi details right on your computer.
  • A photo you took earlier: QR codes in photos of posters, business cards or notices can be read too.

Supported content formats

A QR code is just a container for a string of text, so what it means depends on how that text is written. This tool recognizes the widely used formats and lays them out clearly.

  • Web address (URL): addresses starting with http:// or https://. The domain and the full address are shown separately.
  • Wi-Fi login: the WIFI:S:network name;T:WPA;P:password;; format. You’ll see the network name, security type and password, with the password hidden at first.
  • Contact: name, organization, phone, email and address from vCard (BEGIN:VCARD) and MECARD (MECARD:).
  • Email: recipient, subject and message from mailto: and MATMSG:.
  • Phone number and text message: tel:, SMSTO: and sms:.
  • Location: the geo:latitude,longitude format, with a link to view it on a map.
  • Any other text: if none of the formats above match, the raw text is shown as is.

The structure and encoding of QR codes are defined in the international standard ISO/IEC 18004. The content formats above aren’t part of that standard — they’re conventions shared by smartphone scanners, documented in the ZXing reference listed under sources.

If the code won’t read

This tool first uses the browser’s built-in QR detection (BarcodeDetector) when it’s available. If it isn’t, or it finds nothing, the image is read again with the open-source jsQR library. With jsQR, the image is first resized: a longer side over 1,200 px is scaled down to 1,200 px, and a longer side under 400 px is scaled up to 1,200 px. If the resized image can’t be read, it tries the original size (longer side up to 2,400 px). If that fails too, it adds a white margin around the image at the first size and tries once more. The retries also look for inverted QR codes (a light pattern on a dark background). If it still won’t read, try the following.

  • Crop the image to the QR code, leaving a little space around it. Lots of other content makes the code harder to find.
  • For photos, retake the picture so it isn’t blurry or tilted and the QR code fills more of the frame.
  • Make sure glare or shadows don’t cover the code.
  • Images that have been shrunk too much blur the pattern. Use the original image.

Watch out for QR code phishing (quishing)

Because you can’t read a QR code by eye, it can be used to steer you to a fake site. The U.S. Federal Trade Commission (FTC) has warned about fake QR codes stuck on parking meters and codes sent by text or email with excuses like a delivery problem or unusual account activity. That’s why this tool never opens links automatically and shows you the domain and full address first. It also flags an address that uses unencrypted http, has a part of the domain starting with xn-- (an internationalized domain), uses an IP address, or contains an @ before the domain. If a QR code rushes you to pay, log in or change a password, don’t use it — check through an official website or phone number you already know.

Sources

Frequently asked questions

If the address shows no warnings, is the site safe?

No. This tool only checks four things about how the address is written (an http address, an internationalized domain starting with xn--, an IP address, an @ before the domain). It doesn't check whether the site is actually a phishing site. A shortened link shows only the shortening service's domain, and the tool can't tell where it leads once opened. Even with no warnings, check for yourself that the domain is the one you expect.

The QR code contains an address, but it shows as "Text" and there's no "Open in new tab" button. Why?

Only content that starts with http:// or https:// and has no spaces or line breaks is treated as a web address. An address with the beginning left off (such as www.example.com), an address with other text before or after it, or an address that uses something other than http or https (for example, one that opens an app) is shown as text and isn't turned into a link. To open it, copy the content, check the address, and paste it into your browser's address bar yourself.

Does reading a Wi-Fi QR code connect me to the network? Are contacts saved to my address book?

No. This tool only shows what it read. It doesn't change your device's Wi-Fi settings or address book. For Wi-Fi, copy the password and enter it in your device's Wi-Fi settings yourself. For a contact, copy the fields you need into your address book.

What happens if an image has more than one QR code?

The tool reads one QR code at a time. If it doesn't pick up the one you want, crop the image to that code and add it again.

Can it read regular barcodes (product barcodes)?

No. This tool reads QR codes only. It doesn't read one-dimensional product barcodes or other two-dimensional codes.

Open-source software used: jsQR (Apache-2.0)

Last updated: