Content checks
After decoding, the content is checked against the rules for its type:
- Links: a valid address, https rather than http, and signs of disguise such as login details before the domain, look-alike international characters, raw IP addresses and link shorteners.
- WiFi: a network name, a known security type, and a password of valid length (WPA needs 8–63 characters).
- Email, phone and SMS: valid addresses and numbers.
- Contacts and events: complete vCard and calendar structures, a name or title, and valid dates in the right order.
- Locations: latitude and longitude within range.
- Text: for example a web address missing https://, which many phones won't treat as a link.
Valid means well-formed. It doesn't mean safe: a perfectly formatted link can still lead to a scam site.
Readability checks
- Error correction used: QR codes contain spare data so they can be read when partly covered. The decoder reports how much of that spare capacity it needed. A logo or damage uses it up, leaving less margin for glare, creases and print defects.
- Contrast between dark and light modules.
- Quiet zone: the blank margin, which the QR standard sets at 4 modules.
- Module size in the image, which affects how sharply it can be printed.
- Inverted colours, which many phone scanners can't read.
A “Likely readable” result means the image itself looks healthy. It isn't a guarantee: the printed size and the distance it's scanned from matter just as much. As a rule of thumb, a QR code should be at least about a tenth as wide as the scanning distance.