QR code reader
Drop in a picture of a QR code and get the contents back as something you can read and copy: a phone number, an email address, a Wi-Fi login, a contact card, a link, a location or an event. The image is decoded by your own browser, so it is never uploaded.
What does this QR code reader do?
It reads a QR code from a screenshot or photo and turns the contents into labelled details: a phone number, an email address, a Wi-Fi network and password, a contact card, a website link, a map location, a calendar event or plain text. The image is decoded by your own browser, so it is never uploaded, and nothing in the code is opened or saved automatically.
Your image never leaves this device. The decoder is served from this site and reads the pixels on your own machine. No image is sent to a QR service, no request carries one, and closing the tab discards everything.
Empty state. No QR code yetAdd an image above, paste one from the clipboard, and the contents will appear here.
What it pulls out
- Phone and SMS โ the number and any prefilled message.
- Email โ address, subject and body.
- Wi-Fi โ network name, security and password.
- Contact card โ name, phone, email, organisation and address.
- Links and maps โ the website, coordinates or place name.
- Calendar events โ title, place, start and end.
- Plain text โ anything else, exactly as encoded.
Getting a clean read
- Use the original picture rather than a thumbnail.
- Crop to the code but leave its white border visible.
- Fill most of the frame and keep the code straight.
- A dark code on a light background is easiest; inverted codes are tried too.
- If the picture is blurred, retake it rather than enlarging it.
How to read a QR code from an image
Add the QR code image
Drop a PNG, JPG, WebP, GIF or BMP onto the area above, use the file picker, or paste a screenshot straight from the clipboard. Several images can be added at once, up to 20 MB each.
Let your browser decode it
The decoder is served with this page and runs on your own device. It looks for the code at several sizes and tries both a dark-on-light and a light-on-dark code before giving up.
Read the extracted details
The contents appear as labelled fields โ phone number, email address, Wi-Fi login, contact details, link or event. Copy one field, copy all of them, or open the decoded text to see exactly what was inside the code.
What is actually inside a QR code
A QR code is not a file and it does not hold a picture. It holds a short piece of text, and the first few characters of that text tell a phone what to do with it. That is why the same square can open a website, dial a number or join a network: the payload is written in a known scheme.
| Type | Starts with | What you get |
|---|---|---|
| Phone number | tel: | The number, ready to copy or dial. |
| SMS | smsto: | The number plus any message the sender prefilled. |
| Email address | mailto: | The address, and the subject and body when they are included. |
| Wi-Fi | WIFI: | Network name, security type and password, so a guest can join without typing. |
| Contact card | vCard or MECARD | Name, phone numbers, email addresses, organisation, website and address. |
| Website link | https: | The address, shown as a link you can open. |
| Map location | geo: | Latitude and longitude, or a place name, with a link to open it in maps. |
| Calendar event | VEVENT | Event name, location, start, end and description. |
| Plain text | any other text | The text exactly as it was encoded, with nothing guessed. |
Why the image never leaves the browser
Most online QR readers upload the picture to a server, decode it there and send the text back. This page does the opposite. The decoder is a small JavaScript library served from this site, and it receives pixels read from a canvas on your own device. There is no upload and no third-party service, which matters because a QR code can contain a Wi-Fi password, a phone number or a contact card.
If you need to make a code rather than read one, the QR code generator builds links, Wi-Fi logins, contact cards and events in the same way. To read the words out of a screenshot instead of a code, use screenshot to text. The text fixer cleans up pasted text, and the text tools count and convert it.
Common questions
Is my QR code image uploaded?
No. The decoder is served from this site and runs in your browser, reading pixels from a canvas on your own device. No image is sent anywhere, there is no third-party QR service and closing the tab discards everything.
What kinds of QR codes can it read?
Phone numbers, SMS messages, email addresses, Wi-Fi logins, vCard and MECARD contact cards, website links, map coordinates, calendar events and ordinary text. Anything else is shown exactly as it was encoded rather than guessed at.
Can I read a QR code without using my phone camera?
Yes. Take a screenshot or photo of the code and add it here. That is useful when the code is on a computer screen, in a document, in an email or in a picture someone sent you, and you want the contents on the device you are already using.
Why does it say no QR code was found?
Usually the picture is blurred, too small, cropped through the code or short of contrast. Use the original image rather than a thumbnail, keep the white border around the code, fill most of the frame and hold the camera square to it. A retake is almost always better than enlarging a soft image.
Does it read inverted or coloured QR codes?
It tries both a dark code on a light background and a light code on a dark background. Coloured codes work as long as the two colours have enough contrast; a pale code on white often does not.
Can it extract a Wi-Fi password?
Yes, when the code is a standard WIFI: payload. The reader shows the network name, security type and password. It only reports what is in the code; it does not join the network or test the password.
Does scanning a link here open it?
No. The reader shows the address as a link you can choose to open, but it never opens, dials, emails or saves anything by itself. That is deliberate: a QR code is untrusted input, and the safe default is to show you what it contains before anything acts on it.
Is the decoded text stored?
No. Everything stays in the page for as long as the tab is open. There is no account, no history and no storage, so clearing the list or closing the tab removes it.