QR Code Reader
Decode a QR code from an uploaded image online in your browser without uploading your file to a server.
What this tool does
NexKit QR Code Reader decodes a QR code from an uploaded image entirely in your browser, using the widely-used open-source jsQR library - no image is uploaded to a server.
Decoded content is shown as plain text. If it looks like a web address, an explicit "Open link" button appears - the link is never opened automatically.
How to read a QR code
Upload a JPG, PNG, or WebP image containing a QR code. The browser scans it immediately and shows the decoded text.
Use the Copy button to copy the decoded text, or the Open link button (shown only when the content looks like a URL) to visit it in a new tab.
Accuracy and limits
This MVP accepts JPG, PNG, and WebP images up to 5MB. If no QR code can be found in the image, a clear error is shown - try a clearer photo, better lighting, or a cropped screenshot of just the code.
Decoded content is not verified, scanned for malware, or checked against any safety database. Treat unfamiliar links and text the same way you would treat any unsolicited link.
Privacy and file handling
Your image is decoded entirely in your browser. It is not uploaded to NexKit servers for this workflow.
Frequently Asked Questions
Is my image uploaded?
No. The image is decoded locally in your browser. It is not uploaded to NexKit servers by this tool.
Is the decoded content safe to trust?
No - it is not verified or scanned for safety. A QR code can encode a malicious link exactly as easily as a legitimate one. Links are never opened automatically; you choose whether to open them.
What if no QR code is found?
You will see a clear error message. Try a clearer photo, better lighting, less glare, or a cropped screenshot containing just the code.
What image formats and sizes are supported?
JPG, PNG, and WebP images up to 5MB.
Can it read damaged or rotated QR codes?
It can tolerate some rotation and, depending on how the code was generated, some damage - QR codes include built-in error correction for this. Severely damaged or very low-resolution codes may not be readable.