Static and dynamic QR codes
This generator produces static codes. The destination is encoded in the black-and-white pattern itself, so the code works forever and depends on no service staying online — but it also means the destination can never be changed once the code is printed.
A dynamic code encodes a short redirect URL instead, which lets the owner repoint it later and count scans. That requires an ongoing hosted service, and if that service ever stops paying its bills every code it issued stops working. This tool does not offer dynamic codes.
If you expect the destination to change, point the static code at a URL you control — a page on your own site — and change what that page does rather than reprinting the code.
Getting the size right
The usual rule of thumb is that a code should be at least one tenth of the scanning distance: readable from 1 metre means roughly 10 cm across. Add margin on top of that for anything scanned in poor light or at an angle.
Rough printed size for a given scanning distance
| Scanned from |
Minimum printed size |
Typical use |
| 30 cm |
3 cm |
Business card, packaging, menu |
| 1 m |
10 cm |
Table tent, shelf label, flyer |
| 3 m |
30 cm |
Poster, exhibition stand |
| 10 m |
1 m |
Billboard, building signage |
Why some codes fail to scan
Almost every unscannable code fails for one of a small number of reasons.
- No quiet zone. A QR code needs clear space around it — about four modules' worth. Cropping tight to the pattern is the single most common cause of failure.
- Too small for the distance. See the sizing table above.
- Inverted colours. Scanners expect a dark pattern on a light background. Light-on-dark works on some phones and not others.
- Too much data. A very long URL produces a dense pattern with tiny modules that print poorly. Shorten the link first.
- Low contrast or a busy background. Placing the code over a photograph is a design decision that costs you scans.
- Poor print quality. Ink bleed on uncoated stock merges adjacent modules. Test on the actual material.
Making the link worth scanning
A QR code is only a way of typing a URL without typing. Everything that makes the link worth following still matters: the destination should load fast on a phone, be readable without pinching, and deliver what the surrounding print promised.
Point codes at a page built for the context. Someone scanning a code on a restaurant table wants the menu, not the homepage. If you want a clean, readable destination URL to print alongside the code, the slug generator turns a title into a tidy URL path.