Check the QR encoder yourself

Generate synthetic payloads, decode the images with an independent reader and inspect the result. All checks run on your device.

What this checks

The same encoder and helpers used by the QR generator produce ten synthetic payloads at each of the four error-correction levels. A separately maintained decoder, jsQR, reads each generated canvas. A pass means its decoded text exactly matches the input. Nine additional checks cover capacity boundaries, colour calculations and one print-size example.

No personal information is needed. Sample contact details use example.com and a fictional phone number. The 500-byte URL is deliberately long; no sample destination is opened.

No checks have run yet. Results below are produced when you press the button.

Results from this browser session
CheckResultObservation

How to interpret a pass

A software round trip checks that a clean, full-resolution image carries the expected text. It does not test a phone camera, glare, ink, curved packaging, printing, or what a recipient app does with a contact or Wi-Fi payload. Test those separately on the actual output. A maximum-capacity check only tests whether the encoder accepts the data; it does not decode or print that dense image.

These are selected regression examples, not exhaustive coverage of all possible inputs. If a check fails, report the check name and browser through the contact page. Do not treat an incomplete run as a pass.

Inspect the method

Method updated October 22, 2026. Results are calculated when you run the checks; the page does not present a pre-recorded pass.

Check the physical print next

Use the print approval workflow and downloadable observation sheet to record the actual phones, material, dimensions and lighting you tested.