Seeing sizing 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 business card prints the code at a size that reads at arm length, with the contact details beside it. The card is small, but the code is not squeezed into a corner. A flyer prints the code large enough to read while the flyer is held at a normal reading distance.
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 poster prints the code so it reads from the aisle, not only from right in front of it. The headline pulls people in, and the code is large enough to scan without walking up to the wall. A shop window prints the code so it reads 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 product label prints the code at a size that survives the label cutter and the shelf distance. The label is tested on a real shelf before the run. A conference banner prints the code large enough for attendees walking past.
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 size presets](/qr-size-presets) to check your choices before you commit to a design.
- Use the [QR minimum size checker](/qr-minimum-size-checker) 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.