QR Code Scanner

Decode a QR code from an uploaded photo or screenshot and read the text, link, or contact info it contains, entirely in your browser.

runs locally on your browser. Your data never leaves your device.

Drag & drop a photo or screenshot of a QR code

or

Common Use Cases

Read the link or text encoded in a QR code from a screenshot, PDF, or emailed image without pointing a phone camera at anything
Decode a Wi-Fi QR code from a saved photo to read the network name and password as plain text
Check what a QR code on a printed flyer, menu, or poster actually links to before scanning it with a personal device
Extract contact details from a photographed vCard QR code, like one on a business card, without manually retyping them

About QR Code Scanner

Not every QR code is in front of a phone camera when you need to read it: a code sitting in a screenshot, a PDF, an emailed flyer, or a photo already saved to your device still needs decoding, and this tool does exactly that: upload an image containing a QR code and it's decoded instantly, entirely in your browser.

Drop in a photo or screenshot and the tool locates the QR code, highlights exactly where it found it on the image, and shows the decoded content below: plain text, a URL you can open directly, an email address, a phone number, Wi-Fi network details, or a vCard contact card. It automatically recognizes which of these the code contains based on its standard prefix (like "https://" for a link or "BEGIN:VCARD" for a contact card) and labels it accordingly, so you don't have to guess what you're looking at.

Decoding works the same way a phone camera's built-in scanner does, analyzing the pattern of black and white squares to reconstruct the encoded data, except it happens against the pixels of an uploaded image rather than a live camera feed, using the open-source jsQR library running as plain JavaScript. If a code can't be found (a blurry photo, a code that's cut off, poor lighting), the tool says so plainly and suggests trying a clearer image, rather than failing silently.

Every step, from reading the uploaded file and decoding the QR pattern to displaying the result, happens locally on your device. The image and whatever the code decodes to are never uploaded, transmitted, logged, or stored anywhere, even if the decoded content is a link or contact details.

Frequently Asked Questions

Is my uploaded image or the decoded content sent to a server?
No. The image is decoded directly in your browser using the jsQR JavaScript library, so nothing is uploaded, transmitted, logged, or stored anywhere, including the text, link, or contact details the QR code contains.
What kinds of QR codes can this tool read?
Any standard QR code, regardless of what it encodes: a plain URL, freeform text, an email address (mailto:), a phone number (tel:), Wi-Fi network credentials (WIFI:...), or a vCard contact card (BEGIN:VCARD...). The tool detects which of these it is from the decoded content's prefix and labels it, but always shows the full raw decoded text either way.
Why does it say no QR code was found?
Usually because the code is too blurry, too small, cut off at the edge of the photo, or the lighting/glare makes the black-and-white pattern hard to distinguish. Try a clearer, better-lit, higher-resolution image with the entire code visible and roughly facing the camera.
Can I scan a QR code with my camera instead of uploading a file?
This tool works from an already-captured image (a photo you've taken, a screenshot, or a saved file) rather than a live camera feed, so upload the image after capturing it, whether that's straight from your camera roll or a screenshot of a code shown on another screen.
Does it work with a QR code that has a logo in the center?
Often, yes: QR codes are built with error correction specifically so a portion of the pattern (like a logo overlay) can be missing and the code still decodes correctly. A logo that covers too much of the pattern, or a code generated with low error correction, may still fail to scan.
What image formats are supported?
Any common image format your browser can decode (JPEG, PNG, WebP, GIF, and more), since the tool reads the file the same way it would display it as an image, with no separate format restriction.