These notes improve the odds of a clean scan. They do not promise universal compatibility with every camera or application.
01
Use a clear foreground and background.
Dark modules on a light, even field are easier for cameras to separate.
Example: A charcoal code on cream card stock in even indoor light.
Common mistake: Printing navy ink on dark recycled board.
Corrective action: Choose a light background and confirm the pair still looks distinct in the intended lighting.
02
Preserve the quiet zone.
Scanners use the empty margin to find the code boundary.
Example: A 1024-pixel PNG that still shows four light modules around the matrix.
Common mistake: Cropping the PNG until the finder squares touch the artwork edge.
Corrective action: Keep the default quiet zone in preview, export, and print.
03
Avoid excessively small printing.
Tiny modules blend together on office printers and phone cameras.
Example: A 70 mm card for a handout, tested at arm’s length.
Common mistake: A 12 mm mark on a crowded flyer.
Corrective action: Print at a size you can still see as a grid, then scan a proof.
04
Test the code before distribution.
A live scan is the only practical check for that printer, paper, and payload.
Example: Scan a proof copy with more than one phone.
Common mistake: Sending a file that was never opened on a device.
Corrective action: Generate, print a single proof, and scan it before a large run.
05
Keep the printed surface flat.
Warped bottles, deep folds, and glossy curves distort module geometry.
Example: A flat card placed on a table.
Common mistake: Wrapping the code around a narrow cylinder without testing.
Corrective action: Place the code on a flat panel or test the curved surface first.
06
Avoid excessive visual decoration.
Logos, rounded dots, and photo backgrounds can destroy finder patterns.
Example: A plain high-contrast square with an intact quiet zone.
Common mistake: Dropping a logo into the center without checking version and error correction.
Corrective action: Leave the matrix unmodified. Add labels outside the quiet zone.
07
Use an appropriate error-correction level.
Medium is a practical default. Higher levels cost capacity.
Example: Level M for a short URL on a clean label.
Common mistake: Level L on a code that will be taped, folded, or partly covered.
Corrective action: Raise the level if the print may scuff, or shorten the payload instead.
08
Keep encoded content concise when possible.
Shorter payloads produce smaller versions with larger modules at the same print size.
Example: https://example.com/map instead of a paragraph of directions.
Common mistake: Pasting a full formatted letter into a text QR code.
Corrective action: Link to a page, or cut optional vCard fields you do not need.