The settings that actually matter
Generating a usable QR code comes down to a handful of real decisions, not just "type text, get code":
- Error correction level (L/M/Q/H) — how much of the grid can be damaged, obscured, or covered by a logo and still scan correctly. Higher levels mean a denser code for the same data, trading capacity for durability (full breakdown in the Complete Guide to QR Codes).
- Quiet zone — the blank margin required around the code. Scanners rely on this empty border to detect where the code starts; cropping it too tight is a common cause of scan failures that have nothing to do with the code's actual data.
- Module size / overall dimensions — how large each individual square is when printed or displayed. Too small, and camera resolution/lighting conditions can't resolve individual modules reliably at a distance.
- Data payload — what's actually encoded (a URL, plain text, Wi-Fi credentials, a vCard) directly determines the required grid density for a given error-correction level.
Choosing error correction based on real-world use
| Where the code will live | Recommended level |
|---|---|
| Digital display only, no logo | L or M |
| Printed flyer/poster, handled and possibly folded | Q |
| Includes a logo overlay | H |
| Outdoor or industrial (exposure to weather, wear) | H |
Defaulting to the highest level "just in case" isn't free — it means a denser grid for the same data, which can make the code harder to scan from a distance or on lower-quality cameras. Match the level to the actual physical conditions the code will face.
Why quiet zone matters more than people expect
Scanners use the plain white border to find the code's edges before attempting to decode anything inside it — a code cropped tightly against other content (embedded directly against text or graphics with no margin) can fail to scan even though the data-encoding portion itself is perfectly intact. The standard recommends a margin of at least 4 modules wide on every side.
Common mistakes
- Choosing maximum error correction by default, unnecessarily increasing grid density and making the code harder to scan from a distance for no actual benefit.
- Cropping the quiet zone too tightly when placing a code into a design, causing scan failures unrelated to the encoded data itself.
- Encoding an unnecessarily long URL when a shortened link would produce a simpler, more reliably scannable code — longer data forces a higher version (denser grid) at any given error-correction level.
FAQ
What error correction level should I use for a code with a logo?
"High" (H), which tolerates up to ~30% of the grid being damaged or obscured — necessary since the logo itself covers part of the code.
Why does my QR code fail to scan even though the data looks fine?
Check the quiet zone first — a code cropped too close to surrounding content is a very common, easy-to-miss cause of scan failures.
Does a longer URL make the QR code harder to scan?
Indirectly, yes — more data requires a higher version (denser grid) at the same error-correction level, which can be harder to scan from a distance or with a lower-quality camera.
Generate a QR code with custom error correction and size settings using the QR Code Generator — created entirely in your browser.