b2KIT

QR Code Reader

Scan and decode QR codes from uploaded images or your device camera to extract embedded data.

How to Use QR Code Reader

  1. 1

    Upload or scan

    Select a QR code image or use your camera to scan.

  2. 2

    View the content

    See the decoded text, URL, or data from the QR code.

  3. 3

    Copy or open

    Copy the decoded data or open the URL directly.

Tested tool guide Tested browser tools Checked August 16, 2026

What QR Code Reader does, with a checked example

A QR code is a grid of black and white modules that stores a URL, wifi credentials, a payment address, or any text up to about 3,000 bytes. This tool reads that grid from an uploaded image or a live camera feed and returns the exact string inside it. Everything runs in the browser: your photo and your camera frames never leave the device. The thing most users get wrong is trust - decoding succeeds on a malicious code as easily as a benign one. The result is a string to judge, not a voucher of safety.

Worked example

A concrete input and expected output from the current implementation.

Input

A well-lit photo of a printed QR code that encodes the URL https://example.com/promo

Expected output

https://example.com/promo

A QR code stores its payload as raw bytes, so a correct decode returns exactly the string that was encoded. The reader extracts and reports that string verbatim; it does not follow the link, resolve shortened URLs, or judge the destination, which is why checking a code's content first is meaningful.

How the result is produced

1

How decoding works

All decoding happens locally in the browser. The reader locates the three corner finder squares every QR code carries, maps the module grid onto it, then applies the format's Reed-Solomon error correction, which can repair damaged modules depending on the code's correction level (7% to 30% of data). Finally it extracts the payload and renders it as text using the mode the code was encoded in: numeric, alphanumeric, or byte.

2

Live camera scanning

The first time you use camera mode, the browser asks for camera permission; until you grant it, nothing captures. Frames are then read on your device and are not uploaded. Point the code flat at the lens, keep it fully in frame, and avoid glare; the reader reports the payload when it can read the code consistently. Revoke camera permission in the browser settings when you are done.

Good uses

  • You received a QR code in an email or on a flyer and want to see the URL it contains before deciding whether to open it. Decoding shows the destination instead of trusting the image.
  • You have a screenshot or saved photo of a code that no longer scans with a phone camera - a damaged label, a code captured on a screen, or one you missed the moment to photograph. Upload the file instead of re-photographing it.
  • You need the raw payload for manual setup, such as the plaintext password inside a wifi-sharing code, or a two-factor enrollment URI you want to move to a second authenticator app.

Limits and checks

  • Decoding is not a safety verdict. The tool reports the bytes in the code; it does not resolve short URLs, check the site, or open anything. Quishing - phishing through QR codes - works precisely because a malicious destination looks like a harmless curiosity to scan.
  • Image quality limits. Blur, glare, low resolution, or a steep angle can defeat the error correction, and heavily damaged codes fail outright. Screenshots beat photos of screens, and a flat, well-lit, straight-on shot has the best chance of decoding.
  • Payload ambiguity. Legacy or binary payloads can render as garbled text, and the densest QR holds at most 2,953 bytes, so content larger than that cannot fit in one code. Square barcodes of other symbologies - Data Matrix, Aztec - will not decode here.

Common questions

Can it read a QR from a screenshot or photo, or only from the camera?

Both. Upload any image file - a screenshot, a photo of a label, an attachment - and it decodes locally in the browser. Screenshots work well when the code is captured at full size; photos work best flat, well lit, and free of glare. Camera mode is there for live codes in the physical world.

Is it safe to scan a random QR code with this?

Scanning is safe: decoding runs entirely in the browser and nothing is uploaded. The risk sits after the scan. If the code contains a URL, opening it is a separate decision, and QR codes are a known phishing channel. Verify the destination before visiting it, just as you would a link in an unexpected email.

References and verification

The example and behavioral notes were checked against the browser implementation. Standards and primary references below define the relevant format, formula, or platform behavior.

Related Tools