Seeing typography done well is faster than reading a list of rules, so this guide walks through examples that work in real places. Each example keeps the same discipline underneath the design: a clean code, a clear margin, strong contrast, and a message that tells people what they get. The examples cover different surfaces and distances, from a card held at arm length to a poster read from across a room. Use them as starting points, copy the structure, adapt the colors and words to your brand, and always test your own version before you print.
Example one: a small, everyday use
A restaurant card sets Scan to view the menu in a clear, readable size beneath the code, with the web address underneath in plain type. Diners who prefer not to scan can type the address. A clinic leaflet sets the booking line and the phone number in the same clear style.
The lesson is restraint. The code itself stays plain, the message is short, and the surrounding design does the branding. A reader who glances at the card understands what to do in a second, and a phone locks on without hunting.
Example two: a larger, public use
A museum label sets a short instruction beside the code in a size that reads at arm length. The label text is calm, the code is the focus, and the address is printed for anyone who wants it. A shop poster sets the call to action large enough to read from the pavement.
The lesson is scale. A larger code earns a larger margin and a larger message, and the design respects that. The code is not squeezed into a leftover corner; it is given the space its viewing distance demands.
Example three: a branded, busy surface
A conference badge sets a short line under the code in a plain font, with the session address printed below. Attendees can scan or type, and the badge stays readable. A charity poster sets Scan to donate in a bold, plain weight that reads at a distance.
The lesson is separation. The brand carries the pattern and the color, while the code carries a calm panel and a clean margin. The two jobs stay separate, and both succeed. Whenever a design tries to make the code itself carry the pattern, scanning suffers.
Putting this into practice
Pick the example closest to your placement and rebuild it with your own brand and message. Keep the structure the same: a clean code, a clear margin, and a short message. Print it at the final size, scan it with two phones, and compare it with the example. If your version scans as quickly as the example, you have a safe design to build on.
Common mistakes to avoid
Even when the main rules are followed, small slips still creep in. The most common ones are letting decoration drift into the quiet zone, choosing colors that look distinct but share a brightness, and approving a design from a screen preview instead of a printed proof. Another frequent slip is changing one part of a working design, such as the link or the paper, without retesting the whole thing. Treat every change as a reason to run a fresh proof, and treat any hesitation in a test scan as a signal to simplify rather than to hope the next phone will cope better.
Quick checklist
- Keep dark modules on a light, even background with strong contrast.
- Leave a clear quiet zone on all four sides of the symbol.
- Keep the finder patterns solid, undisturbed, and easy to find.
- Check the code at the real size, on the real material, in the real light.
- Confirm the call to action names the payoff and the typed alternative works.
- Recheck the code after any change to the link, design, size, or placement.
Related tools and guides
- Try the [QR call to action builder](/qr-call-to-action-builder) to check your choices before you commit to a design.
- Use the [QR frame designer](/qr-frame-designer) to confirm the numbers and guardrails for this element.
- Check the [QR safety checker](/qr-safety-checker) for a practical way to verify the finished code.
- Check the [printed QR tester](/printed-qr-tester) for a practical way to verify the finished code.
- Check the [QR placement guide](/qr-placement-guide) for a practical way to verify the finished code.
- Check the [blog](/blog) for a practical way to verify the finished code.