QR Code Reader
Decode QR codes from images, screenshots, or pasted pictures. The scan runs entirely in your browser — nothing is uploaded.
Browser-only
Images never leave your device
Instant decode
Runs locally with jsQR
Inspect payload
Preview before trusting a scan
Drop, paste, or click to upload
PNG, JPEG, or WebP — image stays in your browser
Upload a QR image to see its decoded contents
Works with screenshots, photos, and shared images
About QR Code Reader
Not every QR code shows up when you have a camera pointed at it. You might be looking at a screenshot a colleague shared, a poster photographed from across the room, or a scanned document. This reader decodes QR codes directly from image files using the jsQR library running in your browser, so you can pull out the URL, WiFi password, or contact card without holding your phone up to your screen.
Drop a PNG, JPEG, or WebP onto the uploader (or paste an image from your clipboard) and the decoder extracts the encoded string instantly. If the content is a URL, it becomes a clickable link. If it's a WiFi string or vCard, you see the raw payload in a copyable field so you can review what the code actually contains — useful for auditing a QR before you scan it with a real device.
Scanning from an image has failure modes worth knowing about. Very blurry photos, extreme angles, reflections, and damaged codes with no error correction can all prevent decoding. If a scan fails, try cropping closer to the QR, increasing contrast, or re-taking the photo with the code flat and well-lit. Unlike phone camera apps, which stream frames and keep trying, an image-based decoder only gets one shot at each picture.
Related: QR Code Generator · QR tools hub
QR Code Reader — Frequently Asked Questions
How is this different from my phone's camera QR scanner?
Phone cameras scan live video frames and can handle angles and motion by retrying continuously. This tool decodes a single static image — a screenshot, a photo you already took, or a PNG someone sent you. It's the right tool when the QR isn't physically in front of you, or when you want to inspect the decoded content before trusting a scan.
Is my image uploaded anywhere?
No. The image is loaded into a canvas in your browser, decoded by jsQR locally, and discarded when you leave the page. Nothing is sent to a server, stored, or logged. You can use this on internal documents or screenshots without a privacy concern.
Why does my QR code fail to decode?
Common causes: the image is too blurry, the QR is too small (fewer than ~100px across), the photo angle distorts the code, glare or shadow covers part of the pattern, or the code is physically damaged beyond its error correction level. Try cropping tighter to the QR, re-taking the photo flat and well-lit, or increasing the image contrast before uploading.
What types of data can it read?
Anything a standard QR code encodes: URLs (shown as a clickable link), WiFi credentials (WIFI:T:...), vCard contact records, email mailto: templates, SMS drafts, phone numbers, geo pins, calendar events, and plain text. The decoded payload is always shown in full so you can see exactly what the code contains.
Does it work on screenshots from my Mac or Windows PC?
Yes — any PNG, JPEG, or WebP works. You can also paste directly from the clipboard on most browsers, which is handy for screenshots captured with Cmd+Shift+4 (macOS) or Win+Shift+S (Windows).
How is this different from my phone's camera QR scanner?
Phone cameras scan live video frames and can handle angles and motion by retrying continuously. This tool decodes a single static image — a screenshot, a photo you already took, or a PNG someone sent you. It's the right tool when the QR isn't physically in front of you, or when you want to inspect the decoded content before trusting a scan.
Is my image uploaded anywhere?
No. The image is loaded into a canvas in your browser, decoded by jsQR locally, and discarded when you leave the page. Nothing is sent to a server, stored, or logged. You can use this on internal documents or screenshots without a privacy concern.
Why does my QR code fail to decode?
Common causes: the image is too blurry, the QR is too small (fewer than ~100px across), the photo angle distorts the code, glare or shadow covers part of the pattern, or the code is physically damaged beyond its error correction level. Try cropping tighter to the QR, re-taking the photo flat and well-lit, or increasing the image contrast before uploading.
What types of data can it read?
Anything a standard QR code encodes: URLs (shown as a clickable link), WiFi credentials (WIFI:T:...), vCard contact records, email mailto: templates, SMS drafts, phone numbers, geo pins, calendar events, and plain text. The decoded payload is always shown in full so you can see exactly what the code contains.
Does it work on screenshots from my Mac or Windows PC?
Yes — any PNG, JPEG, or WebP works. You can also paste directly from the clipboard on most browsers, which is handy for screenshots captured with Cmd+Shift+4 (macOS) or Win+Shift+S (Windows).