QR code reader: scan a code from an image

Choose, drop or paste an image with a QR code and see what it contains: a Wi-Fi login with its password, a contact card, a web address or plain text.

This tool needs JavaScript. The rest of the page works without it.

Choose a photo or a screenshot, drop it here, or paste it with Ctrl+V (⌘V on a Mac). The image stays on this device.

No code read yet

The content of the code will appear here.

What this tool does

It finds a QR code in an image and shows its content in readable form. That helps when the code is on your own screen, for example in a screenshot, in a chat or in a PDF, where the phone camera cannot point at it.

It also shows the full text of the code. Before you open a link from a code that you found somewhere, you can read the whole address first.

The image is drawn and decoded by your browser. It is not uploaded to this site or to anyone else.

How to use it

  1. Tap “Choose image” and pick a photo or a screenshot. On a computer you can also drop an image onto the box, or copy a screenshot and paste it with Ctrl+V (⌘V on a Mac).
  2. The code is read at once. If you want to read the same image again, press “Read QR code”.
  3. Read the result. For a Wi-Fi code you see the network name and the password; “Copy password” copies it for typing it into another device.
  4. For a web address, check the website name before you press “Open link”. The link opens in a new tab.
  5. On a phone or a laptop with a camera you can press “Use camera” instead and hold the code in front of it. The camera switches off as soon as a code is read.

Worked example

A guest has a screenshot of the Wi-Fi code of a café and wants the password for a laptop, which has no camera app for codes. The text in the code is:

WIFI:T:WPA;S:Cafe Guest;P:latte\;2026;;

The reader shows the network name Cafe Guest, the password latte;2026 and the security WPA or WPA2. The backslash in the code only marks the semicolon as part of the password, so it is removed. The guest copies the password and types the network name on the laptop.

How it works

The image is drawn onto a canvas on a white background, so that transparent screenshots do not turn black. The open-source decoder jsQR then looks for the three square finder patterns, works out the grid of modules, reads the bits and repairs errors with the error correction that every QR code carries. If no code is found, the tool tries the image at other sizes (the longer side scaled to about 1,200, 2,000 and 700 pixels, never enlarged) and also as an inverted image with light modules on a dark background.

The text is then recognised by its format. A Wi-Fi login starts with WIFI: and lists the type of security (T), the network name (S), the password (P) and whether the network is hidden (H); a backslash in front of a character means that the character belongs to the value. A contact card starts with BEGIN:VCARD; the tool lists the name, organization, job title, phone numbers, email addresses, websites, addresses and a note. Text that starts with http:// or https:// is treated as a web address. Anything else is shown as text.

For web addresses the tool points out what often hides a trick: an address without https, a known link shortener, an international website name (shown in its xn-- form), a bare IP address instead of a name, and an @ in front of the website name. These checks cannot tell a safe site from a harmful one. They only make it easier to see where the link leads.

The decoder is loaded when you first read an image, so the page itself stays small. Only QR codes are read, not bar codes or other two-dimensional codes. If an image holds several QR codes, one of them is read; crop the image to choose which.

Common mistakes

  • A photo where the code is small, blurred or at a steep angle. Crop the image around the code or take a sharper, straighter picture.
  • A code without its light border. Scanners need a margin around the code; include it when you crop.
  • Trusting the text next to a code. A sticker can cover a genuine code with another one. What counts is the address that the reader shows.
  • Opening a short link without knowing where it goes. The code only contains the short address; the service decides where it forwards to.

Sources

Frequently asked questions

Is my image uploaded?
No. The image is opened and decoded by your browser. The page downloads the decoder once, the first time you read an image, and sends nothing about your image. The browser tests of this site check that no request carries the content of the code.
Can I see the password of a Wi-Fi QR code?
Yes. A Wi-Fi code contains the password as readable text, and the reader shows it next to the network name. Use this for codes of networks that you are allowed to join.
Why is no QR code found in my image?
Usually the code is too small, blurred or cut off, or its light border is missing. Crop the image closer to the code or take a sharper picture. Very dense codes with many small modules need a sharp image; codes with a large logo or weak colours can also fail.
Is it safe to open the link from a code?
The reader cannot judge a website. It shows the full address and points out signs that often come with tricks, such as a short link or a website name with international characters. Open the link only if you recognise the website name.
Does the camera record anything?
No. The camera picture is checked for a code a few times per second on your device and is not stored or sent. The camera switches off after a code is read, when you press “Stop camera” and when you leave the page.

Last updated: September 29, 2026