Choose Camera to scan in real time or Upload to decode a QR code from a saved image.

Camera mode

  • Click Start Camera and allow camera access when prompted.
  • Point the camera at a QR code — scanning happens automatically.
  • The camera stops and the result appears as soon as a code is found.

Upload mode

  • Drop an image onto the zone or click to browse for a file.
  • Supports screenshots, photos, JPEG, PNG, WebP, and GIF.
Note: Camera access requires a secure connection (HTTPS or localhost). On desktop, check the browser's address bar for the lock icon.
Camera not active
Click Start Camera and point at a QR code

Drop an image here

or click to browse — JPEG, PNG, WebP, GIF
Uploaded QR image
QR Code Decoded
How the scanner works

The scanner reads camera frames through the browser's camera API — no data is uploaded. Each frame is drawn to a hidden canvas, converted to grayscale, thresholded to black and white, then analyzed for QR finder patterns. Everything runs locally in your browser.

Why HTTPS is required

Browsers only grant camera access to pages served over HTTPS (or localhost). This protects you from malicious scripts on plain HTTP pages silently accessing your camera. If the camera button doesn't appear, check that the URL starts with https://.

Error correction

QR codes use Reed–Solomon coding — 7–30% of the code can be damaged, folded, or obscured and it will still decode. This is why QR codes work after being scratched, printed on curved surfaces, or partially covered. The scanner tries multiple decode passes automatically.

Getting a good scan

Hold 15–30 cm from the code in even lighting without glare. Avoid steep angles. Clean the camera lens if detection is slow. If the live camera fails, use the image upload option — drag a screenshot or photo of the QR code directly onto the upload area.

Image upload

Useful for QR codes in screenshots, photos, or documents. The decoder applies the same algorithm as the live camera — grayscale conversion, threshold, pattern detection. Works with any image format the browser supports (PNG, JPEG, WebP, GIF).