QR code reader

Decode one QR symbol from a bounded static image and display the payload as inert text without automatically opening, executing, or trusting it.

When this tool is useful

Inspecting a QR payload before deciding whether to copy it, compare it with an expected identifier, or manually visit a reviewed destination.

How local processing works

The browser decodes one static image, bounds the analysis canvas, converts pixels for a QR detector, and returns only the detector's decoded string plus a local report.

How to use it

  1. Prepare and preserve the source: Keep the unchanged source, review the intended destination, and begin with conservative limits. Inspecting a QR payload before deciding whether to copy it, compare it with an expected identifier, or manually visit a reviewed destination.
  2. Run the bounded local operation: Process only in this browser and stop on unsupported, malformed, or ambiguous input. The browser decodes one static image, bounds the analysis canvas, converts pixels for a QR detector, and returns only the detector's decoded string plus a local report.
  3. Inspect the result: Compare the complete decoded text with the expected source, treat URLs and commands as untrusted, inspect ambiguous characters, and use another scanner for high-consequence payloads.

Important limitations

Detection can fail on blur, perspective, glare, low contrast, cropping, multiple symbols, stylized modules, or unsupported QR features. Decoded text can still contain phishing links, commands, or malicious data.

Verify the downloaded result

Compare the complete decoded text with the expected source, treat URLs and commands as untrusted, inspect ambiguous characters, and use another scanner for high-consequence payloads.

Private by design

Your files stay in this browser. The tool does not upload the source or output to our servers.

Questions and answers

When is this tool useful?

Inspecting a QR payload before deciding whether to copy it, compare it with an expected identifier, or manually visit a reviewed destination.

What does the local operation do?

The browser decodes one static image, bounds the analysis canvas, converts pixels for a QR detector, and returns only the detector's decoded string plus a local report.

Which limitations matter?

Detection can fail on blur, perspective, glare, low contrast, cropping, multiple symbols, stylized modules, or unsupported QR features. Decoded text can still contain phishing links, commands, or malicious data.

How should I verify the result?

Compare the complete decoded text with the expected source, treat URLs and commands as untrusted, inspect ambiguous characters, and use another scanner for high-consequence payloads.

Related tools