What Is This Tool?
A QR code decoder reads the black-and-white pattern in a QR code image and extracts the text it encodes — a URL, plain text, Wi-Fi credentials, a vCard, whatever was originally encoded. Normally this needs a phone camera, but a saved image (a screenshot from a chat, a photo of a printed code, a downloaded file) can't always be pointed at a camera conveniently.
This tool decodes directly from the uploaded image file using the jsQR library, the same open-source decoding approach used in many camera-based scanner apps — just applied to a static image instead of a live camera feed.
Why Use It?
- Decode from any image file — screenshot, photo, downloaded PNG/JPG — no phone camera needed.
- If the decoded content is a URL, it's shown as a clickable link automatically.
- Local processing — the image never leaves your browser, safe for QR codes containing Wi-Fi passwords or private links.
- Pairs naturally with our QR Code Generator — encode here, decode there.
- Free, no account, no watermark.
How to Use
- Click the box or drag an image containing a QR code onto it.
- The decoder loads automatically and reads the code.
- The decoded text appears below — if it's a URL, a clickable link is shown too.
- Click Copy to use the decoded text.
Example
Input
A screenshot containing a QR code linking to a websiteOutput
https://codekithub.comRecognized as a URL automatically, with a direct clickable link shown alongside the raw text.
Practical tips to decode a QR code from an image
- Screenshots decode more reliably than photos — a screen capture has clean, sharp pixel edges, while a phone photo of a printed code can suffer from blur, glare or an off-angle shot that distorts the square modules.
- If a photo won't decode, crop it tight around just the QR code first. Extra background around the code can confuse pattern detection, especially on smaller or lower-resolution images.
- Before you scan a QR code with your phone camera, decoding it here first lets you see the destination URL or content as plain text — useful when a code came from an unknown source and you want to check it before opening a link.
- Wi-Fi QR codes decode to a raw string like WIFI:T:WPA;S:MyNetwork;P:password;; — the network name and password are readable directly in that text, no need to re-scan with a phone to join.
Common reasons a QR code won't decode
The most frequent case people run into: a QR code that scans fine on a phone camera but fails when the same image is uploaded here (or vice versa) usually comes down to resolution — camera apps often add extra sharpening or auto-focus that a static image doesn't get. Re-saving or re-exporting the image at a higher resolution before uploading usually fixes it.
The second most common case is a code generated with low error correction and then compressed or resized, which damages just enough of the pattern to break decoding. QR codes have four built-in error correction levels — Low recovers about 7% of corrupted data, up to High at roughly 30%, per Wikipedia's QR code article — so a code made at Low tolerance has far less room for compression artifacts or partial occlusion before it stops scanning. If you generated the code yourself, regenerating it with a larger size and a higher error correction level avoids this.
Frequently Asked Questions
Why can't my phone camera scan this QR code?
Common causes: the image is too small or low-resolution once displayed on screen, there's glare or a photo angle distorting the pattern, or the code itself was generated at low error correction and has minor damage. Uploading the original file here reads the raw pixel data directly, which often succeeds where a camera scan struggles.
What kinds of content can this decode?
Anything a QR code can hold: URLs, plain text, Wi-Fi credentials (WIFI:T:WPA;S:...), contact cards (vCard), phone numbers, and more. The tool shows you exactly what was encoded — for URLs, it also gives you a clickable link.
Is the image uploaded to a server?
No. Decoding runs entirely in your browser using the jsQR library, loaded on demand. The image is processed locally and never transmitted anywhere — safe even for QR codes containing private information.
Why does it say no QR code was found?
Usually the image doesn't actually contain a full, undamaged QR code pattern — check that the whole code is visible and not cropped, blurred beyond recognition, or too low-resolution to show the individual modules.
Can I decode multiple QR codes in one image?
This tool decodes the first QR code pattern it finds in the image. For images with multiple codes, crop and upload each one separately.