Most QR codes that fail do not fail in the generator. They fail at the printer: too small, too crowded, too glossy, or too close to the edge. Here is how to get it right the first time.
A widely used rule of thumb is that a QR code should be at least one tenth as wide as the distance it will be scanned from. It is a rule of thumb, not part of the standard, but it holds up well in practice:
| Where it is | Typical scan distance | Minimum code width |
|---|---|---|
| Business card, packaging | about 20 cm (8 in) | 2 cm (0.8 in) |
| Table tent, counter sign | about 30 to 50 cm (1 to 1.5 ft) | 3 to 5 cm (1.2 to 2 in) |
| Flyer or poster on a wall | about 1 m (3 ft) | 10 cm (4 in) |
| Window or banner | about 3 m (10 ft) | 30 cm (12 in) |
Go bigger whenever you can. Nobody has ever complained that a QR code was too easy to scan.
The white border around a QR code is part of the code. DENSO WAVE, the company that invented the QR code, puts it plainly: "QR Code requires a four-module wide margin at all sides of a symbol." A module is one of the small squares. Designers crop that border to save space, or print the code right against a photo or a colored edge, and scanners then struggle to find where the code starts.
Every code from the WiFi, vCard and Google review generators on this site includes the full four-module quiet zone. Leave it in.
Every character in a QR code is written into its pattern, so longer content means more, smaller modules. We measured it with the same encoder our free tools use, at the same error correction level:
| What the code contains | Characters | Grid | Module size at 3 cm |
|---|---|---|---|
| A typical tagged campaign URL | 118 | 45 x 45 | 0.57 mm |
https://go.yourbrand.com/sale | 29 | 29 x 29 | 0.81 mm |
Same print size, modules 42% bigger. Bigger modules survive smudges, low light, cheap cameras and the far edge of the scanning distance. This is the practical reason to put a short link on your own domain in a printed code instead of the full URL. (Module size includes the four-module quiet zone on each side.)
Print dark modules on a light background. Black or navy on white is the most reliable. Some scanners still struggle with light-on-dark codes, so if brand colors matter, color the modules and keep the background white, which is exactly how our generators work. Avoid low-contrast pairs like yellow on white or gray on gray.
QR codes carry redundant data so they still scan when part of the pattern is damaged or dirty. There are four levels, L, M, Q and H, trading size for resilience. DENSO WAVE notes that "Level M (15%) is most frequently selected," with the higher levels suited to places like factory floors where codes get dirty. Our generators use Level M.
A static code is permanent: whatever it points at is fixed in ink. A dynamic code holds a short link you can repoint later, so the menu, the offer or the review page can change while the print stays put, and you can count scans. If the print run is large or the destination might move, that choice matters more than any of the above. Dynamic vs static QR codes covers it in full.
A common rule of thumb is a width of at least one tenth of the scanning distance, which works out to about 2 cm (0.8 in) for something held in the hand. Bigger is always safer.
DENSO WAVE, which invented the QR code, says it requires a four-module wide margin on all sides. A module is one of the small squares in the pattern.
A vector format such as SVG, PDF or EPS, which scales without blurring. Use PNG at 1024 pixels or more for screens and small jobs, and never print a screenshot.
Yes, as long as the modules are dark and the background is light with strong contrast. Colored modules on white are the reliable way to add brand color.
The usual causes are printing it too small, cropping the white border, low contrast, glare from glossy material, a curved or folded surface, or too much data making the modules tiny. A shorter link makes a simpler code.
Static if the destination will never change, like a WiFi network. Dynamic if it might, like a menu, an offer or a review page, because a dynamic code can be repointed without reprinting and counts scans.
Dynamic QR codes on your own domain, with scan counts and edits after printing. Try Linkturf free for 7 days.
Start free trial