QR Code Scanner

Scan QR codes with your camera or from an image file. Live decoding and screenshot support run on jsQR.

Camera frames and images are decoded locally in your browser. Nothing is uploaded or stored.

Scan a QR code

Point the rear camera at a QR code and hold steady — it stops automatically once a code is read.

Drop a QR code image here or click to browse — PNG, JPG or WebP, screenshots work

How It Works

This scanner decodes QR codes with jsQR, a pure-JavaScript QR decoder that runs entirely on your device. Nothing is uploaded — there is no upload step in the code at all.

Frames are sampled and read locally
While the camera runs, the video is painted onto a hidden canvas about ten times per second. jsQR inspects the pixels of each sampled frame for the QR finder patterns and, when a code is complete, returns its text instantly — every frame is processed and discarded on your device.
Why the rear camera and steady light help
The tool requests the environment-facing camera, which has the real resolution and autofocus your phone needs to fill the reticle squarely. Hold steady, avoid glare on screens, and give the lens time to focus: motion blur is the most common cause of a missed read.
The file path also handles screenshots
When you drop a PNG, JPG or WebP, the image is drawn onto the canvas at its natural size and decoded in one pass. That makes saved screenshots, printed codes photographed at any quality, and desktop machines without a camera all work fine.

Frequently Asked Questions

Can I scan barcodes as well as QR codes?

No — this tool decodes QR codes only. The jsQR engine it uses understands the square QR pattern, not one-dimensional barcodes like EAN or UPC. For a barcode you need a different decoder.

Is anything uploaded to a server?

No. There is no upload step at all: camera frames are drawn to a hidden canvas and read pixel-by-pixel by jsQR, which runs entirely in your browser. Your camera feed, your images and every decoded result never leave your device.

My camera quality is poor or the code will not focus. What now?

Use the image-file mode instead: take a photo of the code however you can, or crop the sharpest frame, then drop that file onto the scanner. Decoding a still image has no frame-rate pressure, so a blurry live view often still yields a clean read from the file.

Can I scan a QR code from a screenshot on desktop?

Yes — that is exactly what the file mode is for. Drop or browse to the screenshot (PNG, JPG or WebP) and the tool draws it at full natural size and decodes it. No camera on the machine is required.

Where do my recent scans stay?

In memory only. The last five decoded results are kept in the page so you can tap back into them, and they vanish the moment you reload or navigate away — nothing is written to disk or synced anywhere.

When Not To Use This Tool