How do I read a QR code from an image?
Drop in a photo or screenshot that contains a QR code and this tool decodes it, showing the exact text it holds, whether that is a web link, Wi-Fi details, contact card or plain text. The image is scanned in your browser using the jsQR library, so nothing is uploaded to a server.
What a QR code actually holds
A QR code is just a compact way of storing a short piece of text as a pattern of black and white squares. Your phone camera, or a tool like this one, looks at that pattern, works out the grid, corrects for any specks or damage using the code's built-in error correction, and reads the text back out. The text is the whole point: the squares are only a delivery method. Once you have the text you can see exactly what the code was asking your device to do, which is far safer than letting a camera app act on it before you have read it.
To decode an image here, drop in a photo or screenshot that contains a QR code. Your browser draws it to a hidden canvas, reads the raw pixels, and the jsQR scanner finds the code and returns its contents. Large images are scaled down first so the scan stays fast. If the tool cannot find a code it will say so, usually because the code is too small, blurry or angled, and a sharper or more tightly cropped image fixes it.
Common things QR codes contain
Most QR codes fall into a handful of types, and the decoded text tells them apart. A plain web link is just an address starting with https. A Wi-Fi code uses a special format so a phone can offer to join the network in one tap. A contact card packs a name, phone number and email into a vCard block. Others hold a phone number, an email address, a calendar event or simply a line of plain text. Below are the sorts of results you will see once a code is decoded.
Reading a code safely
The convenience of QR codes is also their risk: you cannot tell what a code contains by looking at the squares, so a sticker slapped over a genuine code, or a code in a scam email, can quietly point you at a fake login page or a malicious download. This is sometimes called quishing. Reading the code as text first, rather than letting a camera open it straight away, is the simple defence. Check the decoded address carefully, especially the domain right before the first single slash, because that is the part that decides where you really end up.
If a decoded link looks even slightly off, do not open it. Type the address you already trust into your browser by hand instead. For codes on physical signs, a quick check that no sticker has been placed over the original goes a long way.
Why this stays on your device
Reading a QR code often means reading something you would rather keep private, such as a link to a personal document or the password to your home network. That is why this tool does all its work in your browser. The image you choose is decoded on your own device using the built-in canvas and the jsQR library, and it is never uploaded to a server, never logged and never stored. Once the page has loaded you could disconnect from the internet entirely and the reader would carry on working. When you are finished, closing the tab clears everything.
How we work it out
The image is drawn to a canvas at its natural size (scaled down if larger than 1600 pixels for speed), the raw pixel data is read with getImageData, and jsQR scans that pixel grid for a QR code. If one is found its decoded string is shown as text; if not, you are prompted to try a clearer or larger image.
Frequently asked questions
Is my image uploaded anywhere?
No. The image is read by JavaScript running on your own device and decoded in the browser. Nothing is sent to a server and nothing is stored, so you can safely read a QR code that points to a private link or your home Wi-Fi password.
What kinds of QR code can it read?
It reads standard QR codes regardless of what they contain: web links, plain text, Wi-Fi join details, contact cards, phone numbers, email addresses and more. It shows you the raw text inside the code, which is what your phone camera would act on.
Why can it not find a QR code in my image?
Usually the code is too small, blurry, angled or low in contrast against its background. Try a larger or sharper image, crop it so the QR code fills more of the frame, and make sure the whole code including its quiet border is visible. Screenshots tend to decode more reliably than photos taken at an angle.
Is it safe to open a link from a QR code?
Treat it like any link from an unknown source. A QR code can hide a malicious or misleading web address, so read the decoded text first and check the domain looks right before opening it. This tool deliberately shows the content as text rather than sending you anywhere automatically.
Can it read a QR code straight from my camera?
No, this tool works from an image file, so take a photo or screenshot of the code first and drop it in. Most modern phones can also scan QR codes live in their built-in camera app, which is handy when the code is in front of you rather than saved as a picture.