Creating QR Codes and Barcodes That Scan
A code that looks fine on screen can still fail on a printed poster or a product label. This guide covers the settings and checks that help QR codes and barcodes scan reliably.
QR Error Correction Levels
QR codes include redundant data so that a scanner can still read a code that is partly dirty, damaged or covered. There are four levels:
| Level | Approximate recoverable data | Typical use |
|---|---|---|
| L | about 7% | Clean screens and documents; smallest code |
| M | about 15% | General print use |
| Q | about 25% | Labels that may get scuffed |
| H | about 30% | Codes with a logo on top, or harsh environments |
Higher levels make the code denser for the same content, so modules get smaller at the same print size. Use H when you place a logo over the centre or expect damage; otherwise M is a reasonable default. Even with H, keep any logo small and away from the three large corner squares.
Quiet Zone, Size and Resolution
The quiet zone is the empty margin around a code. Scanners use it to find where the code starts. The QR specification calls for a margin of four modules (the small squares) on every side, and 1D barcodes need clear space to the left and right as well. Cropping the margin or placing the code against busy artwork is a common reason for failed scans.
Size depends on scanning distance and on how much data the code holds: more data means more modules, and each module must stay large enough for a camera to resolve. Short URLs keep codes simpler. For print, export as SVG when possible so the code stays sharp at any size, or use a PNG large enough for the printed dimensions without upscaling. Avoid stretching a code to a different aspect ratio.
Contrast and Colours
Scanners rely on contrast between dark and light modules. Dark modules on a light background work most reliably. Light colours, low-contrast pairs such as grey on blue, gradients and glossy or reflective surfaces can all reduce readability. Inverted codes (light modules on a dark background) are read by many but not all scanning apps, so test them carefully or avoid them for important uses.
Test With Real Devices
Before printing in quantity, test the final artwork, not only the generated image. Scan it with several phones and camera apps, at the intended distance and under the lighting where it will be used. Check that the link opens the right page and that numbers decoded from barcodes match what you expect. Print a sample at actual size; a code that scans on a monitor may be too small on paper.
Wi-Fi Codes and Static vs Dynamic QR
A Wi-Fi QR code stores the network name and password as plain text inside the code. Anyone who scans it, or photographs it, can read the password. Consider using it for a guest network rather than your main one.
LeedyBox creates static QR codes: the content, such as a URL or contact card, is encoded directly in the pattern and cannot be changed after printing. So-called "dynamic" QR codes encode a short link to a redirect service, which forwards visitors to a target that can be edited later. That depends on the redirect service staying available. With a static URL code, you can keep flexibility by pointing it at a page on your own domain that you control.
1D Barcode Formats and Check Digits
- EAN-13 and UPC-A: retail product numbers (GTINs) scanned at checkouts. EAN-8 is a shorter version for small packages.
- ITF-14: 14-digit numbers for outer cartons and shipping cases.
- CODE128: compact and able to encode letters, digits and symbols; common on shipping and internal labels.
- CODE39: an older format for uppercase letters, digits and a few symbols, still used in some industrial and ID systems.
EAN, UPC and ITF-14 numbers used on products for sale should come from GS1, the organisation that issues company prefixes. Making up a number can clash with another company's product. These formats end with a check digit calculated from the other digits, which lets a scanner detect most misreads. The LeedyBox generator calculates the check digit for these formats. It generates codes only and does not scan them.
QR Code is a registered trademark of DENSO WAVE INCORPORATED.
Frequently Asked Questions
Do QR codes created here expire?
A static QR code contains its data directly and does not depend on LeedyBox to work. A URL code only stops being useful if the linked page goes offline.
Can a logo be placed in the middle of a QR code?
Often, yes. If you add a logo afterwards in a design tool, generate the code with error correction level H, keep the logo small, and test the result on several devices.
Can I use any 13-digit number for an EAN-13 barcode?
For internal use, perhaps, but products sold in shops usually need a number assigned through GS1 so that it is unique.