How to Decode a QR Code from a Screenshot or Photo
You do not need a phone app to read a QR code. Any image - a screenshot, a photo or a saved picture - can be decoded in your browser. This guide shows how, and how to get a clean scan.
How to Decode a QR Code from a Screenshot or Photo
You do not need a phone app to read a QR code. Any image - a screenshot, a photo or a saved picture - can be decoded in your browser. This guide shows how, and how to get a clean scan.
How QR decoding works
A QR code stores data in a grid of black and white modules, with three large finder squares that tell a scanner where the code is and how it is rotated. A decoder locates those squares, samples the grid, then reads the data and error-correction bits back into text.
Upload, paste or drop
The QR Decoder accepts a file upload, a drag-and-drop, or a pasted image from the clipboard. It also accepts an image URL or raw QR text typed into the text field, which is handy when the code is already on screen.
Getting a clean scan
Sharpen the image, increase contrast, and make sure the code fills a good part of the frame. Glare on a screen, motion blur, a steep angle and heavy shadows are the usual reasons a scan fails. If it does, crop closer and try again.
What a QR code can contain
The decoder labels the payload: a URL opens in a new tab, WiFi credentials are split into network name, security and password (masked until revealed), vCards into name, phone and email, and everything else is shown as plain text.
Privacy
Decoding runs locally with JavaScript, so screenshots that contain private information stay on your device.
Frequently asked questions
Can I decode a QR code from a screenshot?
Yes. A screenshot is just an image, so upload or paste it into the QR Decoder and the content is read instantly.
Why does my QR code fail to decode?
Blur, glare, low contrast, a rotated angle or a code that is too small in the frame. Try a sharper, closer, well-lit image.
Does it read WiFi and contact codes?
Yes. WiFi, vCard, URL and plain-text codes are detected and shown with their individual fields.
Is my image uploaded?
No. Decoding happens entirely in your browser.