QR Code Scanner
Upload any image containing a QR code and get the decoded text — decoded locally with jsQR.
How QR Code Scanner works
Read a QR code from a screenshot or photo. Upload any image containing a QR code and get the decoded text — decoded locally with jsQR. Everything happens inside this page: the tool reads your input, runs the calculation or conversion locally, and hands the result back to you. Nothing is transmitted, because there is no backend to transmit it to.
That design choice is deliberate. Most free tool sites upload your files to a server, process them there, and quietly keep a copy. Toolcin cannot do that — the site is a set of static files. If your connection dropped the moment the page finished loading, every tool would still work.
Reading a code from a picture
Upload an image containing a QR code and the jsQR engine locates the finder patterns, corrects the perspective and decodes the payload. It works on screenshots as well as photographs, which makes it useful for decoding a code you cannot scan with a phone right now.
Decoding happens in the tab — the image is never uploaded.
What makes a scan fail
Low contrast, a photographed screen with moiré, a code that is too small in the frame, or damage beyond the error-correction level. Cropping tightly around the code and increasing contrast are the two fixes that work most often.
A code with a large logo over the centre needs high error correction to survive; if the overlay exceeded the recoverable area, no scanner will read it.
| Problem | Fix |
|---|---|
| Too small in frame | Crop to the code |
| Low contrast | Increase contrast first |
| Screen photo with moiré | Screenshot instead |
| Damaged | Regenerate if you control it |
Safety
The decoded text is displayed, not opened. Check the URL before visiting it — a QR code can point anywhere, and the only defence is reading the destination.
Good to know
- Works offline once loaded, including on flights and in locked-down networks.
- No file size limit beyond your device's own memory.
- Free to use, with no account and no usage counter.
- Results are produced locally, so they are not logged or shared with anyone.
Questions
Is my file uploaded?
No — the library runs inside your browser, so files and data stay on your device.
Which formats are supported?
Any image your browser can open: PNG, JPG, WebP or a screenshot.
Does it use the camera?
No, this version reads uploaded images.
Can it read barcodes?
No, QR only.
Keep going
More generators tools
QR Code Generator
Generate QR codes for links, text, Wi-Fi and email. Choose colours, size and error correction, then download PNG or SVG.
Open toolLorem Ipsum Generator
Generate placeholder text by paragraph, sentence or word count, starting with the classic Lorem ipsum opening.
Open toolRandom String Generator
Generate random strings with your choice of character sets. Uses crypto.getRandomValues with rejection sampling, so every character is equally likely.
Open toolPassphrase Generator
Build a memorable passphrase from a curated word list. Long passphrases beat short complex passwords: four words already beat most eight-character strings.
Open toolMock Data Generator
Generate fake names, emails, phone numbers and cities for testing. Everything is fictional and generated locally — safe for demos and test databases.
Open toolPlaceholder Image Generator
Create placeholder images at any size with a custom label and colours. Perfect for wireframes, mockups and design hand-off.
Open tool