# QR Code Export Readability Benchmark methodology

## Release

- Release: 2026-07-22-v1
- Published: 2026-07-22
- Publisher: QR Code Crafter, a service of Brand Aspect Ltd
- Results: 19 exact decodes from 21 generated fixtures
- Clean baselines: 4 of 4 decoded exactly
- Dataset: https://qrcodecrafter.com/data/qr-readability-lab-v1.json
- Fixture archive: https://qrcodecrafter.com/data/qr-readability-lab-v1-fixtures.zip
- Complete release: https://qrcodecrafter.com/data/qr-readability-lab-v1-release.zip
- SHA-256 manifest: https://qrcodecrafter.com/data/qr-readability-lab-v1-manifest.json
- Results page: https://qrcodecrafter.com/qr-code-safety-lab#export-readability-benchmark

## Method

The release generates controlled QR fixtures with the published `qrcode` package, renders each file to RGBA pixels with `sharp`, and passes those pixels to the same `jsQR` fallback decoder used by the QR Code Crafter browser scanner. A result is an exact decode only when the recovered string matches the source payload byte for byte.

The matrix covers clean PNG, JPG, WebP, and SVG exports plus controlled small outputs, reduced quiet zones, low contrast, compression, blur, rotation, center obstruction, dense payloads, and a Wi-Fi payload. SVG is rasterized by Sharp before decoding. PDF and EPS are not included in this release because their readability depends on the downstream renderer; the site's separate export smoke tests validate their file structure.

## Software

- Node.js: v20.18.1
- qrcode: 1.5.4
- sharp: 0.35.3
- jsQR: 1.4.0

## Reproduce the release

1. Download https://qrcodecrafter.com/data/qr-readability-lab-v1-release.zip and verify its members against https://qrcodecrafter.com/data/qr-readability-lab-v1-manifest.json.
2. From the matching QR Code Crafter source release, run `npm ci` and `npm run safety-lab:generate`.
3. Compare the generated release archive and manifest with the published release.

## Interpretation

- Exact decode: this software configuration recovered the exact source payload from the generated fixture.
- Not decoded: this software configuration did not recover the exact source payload from that fixture.
- Neither result predicts every camera, browser, printer, paper, surface, lighting condition, viewing distance, or downstream design workflow.

## Limitations

- This is a deterministic software fixture benchmark, not ISO/IEC 15415 verification, laboratory print measurement, device certification, or a security assessment.
- The release uses one decoder and one rendering pipeline. Real devices may perform differently.
- Generated files do not simulate paper, ink spread, glare, lens focus, motion, damage, or physical viewing distance.
- A successful decode does not establish that the encoded destination is safe.
- Test final artwork on representative devices at the intended size, material, distance, and lighting before production.

## Corrections

Report a reproducibility problem or factual error to contact@qrcodecrafter.com. Include the release identifier, fixture ID, observed result, software versions, and enough detail to reproduce the issue.
