Uvlio

Command Palette

Search for a command to run...

Back to articles
Technical Article

Barcodes, QR Codes and OCR Labels: Generate, Scan and Verify

Label workflows fail in the physical world more than in the generator UI. The code that looks crisp on a retina screen can be unreadable after a cheap print, a glossy laminate or a phone camera in warehouse light. The practical habit is to verify outputs under the same conditions your users will face, then keep a short record of what you checked. A code is only finished when it has been printed on the real material and decoded by the real devices that will meet it in production.
Uvlio editorial team by limitcool2026-05-177 min read
Topic coverUtilityBarcode Generator / DecoderQR Code Generator / Decoder

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.

Guide subject preview
Understand
Check
Apply
Tool stack
Barcode Generator / DecoderQR Code Generator / Decoder
Reading focus
1Understand
2Check
3Apply

Original workflow visual

Barcodes, QR Codes and OCR Labels: Generate, Scan and Verify

This original Uvlio visual summarizes the practical path from input inspection to output review for this workflow.
1

Understand

Review before moving forward

2

Check

Review before moving forward

3

Apply

Review before moving forward

Maintainer and review note
Maintained by limitcool. Use it to understand the technical model, processing boundaries, privacy risks, and verifiable behavior.
Barcode versus QR for the job

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.

Quiet zones and contrast

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.

Size and print resolution

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.

Error correction is not infinite

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.

Decode what you generate

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 on labels is a fallback, not a plan

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.

Data payload hygiene

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.

Version the payload when labels will live for years

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.

Test under warehouse conditions

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.

Keep human-readable text beside the code

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.

Record the generator settings with the artwork

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.

Plan for reprints without chaos

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

Why does my QR code scan on screen but not on paper?

Usually size, contrast, quiet zone or printer blur. Proof on the real stock and re-decode.

Should I put a long URL in a barcode?

Use a QR code or a short redirect. Linear barcodes are poor for long URLs.

What is a quiet zone?

The empty margin around a code. Cropping it is a frequent reason scanners fail.

Can OCR replace barcodes on labels?

Not reliably. Use OCR as backup when a code is damaged, not as the primary identifier path.