Skip to content

QR Safety Lab

A local, deterministic test sheet for reviewing how decoded QR destinations are classified before any link is opened.

QR safety lab

Run predictable QR destination checks directly in your browser.

No destination is visited or fetched; the decoded content stays available for review and copying.

Release
2026-07-20-v1
Updated
Test cases
10

Summary

10/10 Pass

Clear

1

Clear indicates no matching structural warning in this release; it is not proof that a destination is safe.

Caution

5

Caution marks a destination structure that deserves deliberate review before opening.

Blocked

3

Blocked prevents direct opening. The raw decoded content remains visible and can be copied.

Test matrix

Test casesPayloadExpectedObservedWarning
Plain HTTPS destinationhttps-clearhttps://example.com/docsClearClearA conventional HTTPS URL with no release 1 structural warning.
Unencrypted HTTP destinationhttp-cautionhttp://example.com/docsCautionCautionHTTP does not provide the transport protection expected from HTTPS.
Shortened destination URLshortener-cautionhttps://bit.ly/CautionCautionA short URL hides the eventual destination behind a redirect service.
Punycode hostnamepunycode-cautionhttps://xn--e1afmkfd.invalid/CautionCautionPunycode can represent internationalized hostnames that need careful visual review.
Public IP address destinationpublic-ip-cautionhttps://203.0.113.10/loginCautionCautionA public IP address is less recognizable than a named domain.
Tracking-heavy destination URLtracking-cautionhttps://example.com/?utm_source=posterCautionCautionNumerous tracking parameters can obscure the meaningful destination path.
Embedded URL credentialscredentials-blockedhttps://user:password@example.invalid/BlockedBlockedUser credentials embedded in a URL can mislead readers about the true host.
Private-network destinationprivate-network-blockedhttps://localhost/adminBlockedBlockedPrivate or loopback network targets must not be opened directly.
Control character in destinationcontrol-character-blockedhttps://example.invalid/\nnextBlockedBlockedControl characters can change how a destination is displayed or interpreted.
Non-web intentnon-web-intentmailto:hello@example.comNot applicableNot applicableThis payload invokes a non-web scheme and is outside direct web navigation.

Methodology

  • Checks are deterministic and run locally in the browser.
  • No destination is visited, requested, or fetched during classification.
  • Release 1 tests destination structure only, not the content or reputation of a site.
  • Results are based on the decoded payload exactly as supplied to the checker.
Safety Lab methodology

Limitations

  • Clear is not proof of safety, legitimacy, or harmless content.
  • This release does not follow redirects, query APIs, or inspect destination pages.
  • A blocked result disables direct opening, while keeping raw decoded content visible and copyable.
  • Classification cannot replace user judgment or an organization’s security controls.

QR Safety Lab citation information

Research and data about local structural checks for QR destinations. Structural checks do not prove that a destination is safe.

Publisher
QR Code Crafter, Brand Aspect LtdCompany Registration Number: 05105266Legal information
Suggested citation
QR Code Crafter. “QR Safety Lab.” Release 2026-07-20-v1. Brand Aspect Ltd, July 20, 2026. https://qrcodecrafter.com/qr-code-safety-lab
Corrections
Report factual errors or problems reproducing this release. contact@qrcodecrafter.com

Compatibility scope

Scanner compatibility

This release measures destination structure only; it does not measure scanner or device behavior.

Real device and scanner compatibility is planned for a future release with separate measurements.

Frequently asked questions

Does this tool open the QR destination?
No. All checks are local and deterministic, and no destination is visited or fetched.
Does Clear mean the link is safe?
No. Clear only means release 1 found no matching structural warning.
What happens to blocked destinations?
Direct opening is disabled, but the raw decoded content remains visible and can be copied.