Barcodes, QR Codes and OCR Labels: Generate, Scan and Verify
Barcodes, QR Codes and OCR Labels: Generate, Scan and Verify
A code that cannot be scanned is decoration. How to choose barcode versus QR, size codes for print, and verify before a print run.
Original workflow visual
Barcodes, QR Codes and OCR Labels: Generate, Scan and Verify
Understand
Review before moving forward
Check
Review before moving forward
Apply
Review before moving forward
Linear barcodes such as EAN and Code 128 are ideal for short numeric or alphanumeric identifiers at checkout. QR codes hold more data and survive partial damage better, which suits URLs, Wi-Fi payloads and multi-field tickets. Do not put a long URL in a linear barcode; use QR or a short redirect.
Scanners need an empty margin around the code, the quiet zone. Cropping it away is a common design mistake. Contrast matters too: dark modules on a light background scan more reliably than low-contrast brand colours. If brand colours are mandatory, keep the code itself near black on white and brand elsewhere.
A code that is too small relative to printer DPI becomes a blur. Generate at the final physical size and print a proof. For thermal label printers, test on the actual label stock; some stocks bloom and thicken dark bars.
QR codes can use higher error correction to survive dirt and damage at the cost of denser modules. Higher correction on a tiny print can make modules too fine to resolve. Balance correction level against physical size.
Before a production run, print samples and decode them with at least two devices: a dedicated scanner if you have one, and a phone camera. If either fails, fix size, contrast or quiet zone before ordering thousands of labels.
OCR can read human-readable numbers under a barcode when the code itself is damaged. It is slower and less reliable than a clean scan. Design labels so the primary path is a successful barcode or QR scan, with OCR as recovery.
Do not embed secrets in QR codes on public labels. Assume anyone who can see the label can read the payload. Use opaque identifiers that map to server-side records when the data is sensitive.
A QR code printed on packaging may outlast the URL structure it points to. Prefer stable identifiers and redirects you control, or include a version field in structured payloads so future systems can interpret old labels. Nothing is more expensive than a warehouse full of codes that resolve to 404 pages after a site redesign.
Codes that scan in an office may fail in cold storage, low light, or when printed on curved bottles. If labels will be used on a shop floor, test with the same scanners, gloves and lighting the staff use. Generator settings that look optimal on a laptop screen are not validated until they survive that environment.
When a scanner fails, operators fall back to typing. Print the identifier in a clear font under the barcode or QR code, with enough size for gloves and poor light. OCR can help, but readable text is still the fastest recovery path on a busy line. Design for the failure case, not only the perfect scan.
When a code fails in the field six months later, you need to know module size, error correction, quiet zone and colour values used at creation. Store those settings beside the design file. Reproducing a working label is otherwise guesswork, especially after design tools or export plugins were upgraded.
Labels get damaged, regulations change, and SKUs are retired. Keep a reprint package: the generator project, export settings, approved proof photos, and the decoded payload. When operations asks for five thousand more labels, you should be able to regenerate without reverse-engineering last years artwork from a photo of a box.
Common Questions
Usually size, contrast, quiet zone or printer blur. Proof on the real stock and re-decode.
Use a QR code or a short redirect. Linear barcodes are poor for long URLs.
The empty margin around a code. Cropping it is a frequent reason scanners fail.
Not reliably. Use OCR as backup when a code is damaged, not as the primary identifier path.