Skip to content
UseQR
ESC

↑↓ MOVE↵ OPEN48 PLACES

Print & production

QR code size for a shipping label

Print shipping-label QR codes at 2–2.5 cm; handheld imagers and phone cameras read them from 10–30 cm. On a 203 dpi thermal printer make each module a whole number of printer dots — four dots is 0.5 mm — and generate the code in printer firmware rather than as a resized image.

View as MarkdownPaste this page into any AI assistant — it is plain, portable Markdown.

Reading distances in a warehouse

Reader Distance Minimum code width
Handheld 2D imager at a bench 10–15 cm 1.5–2 cm
Phone camera (driver, customer) 20–30 cm 2–3 cm
Fixed sorter camera per the line's spec follow the spec

Dedicated 2D imagers out-resolve phone cameras at close range, so the distance maths is rarely the binding constraint. 2–2.5 cm covers both the gun and the phone, and the real fight is happening at the module level. One caveat: if a carrier's label specification dictates barcode sizes and placement, follow it exactly — your QR code is the extra element and must stay out of the mandated zones.

Whole dots, or nothing

Most shipping labels come off 203 dpi thermal printers, where each printer dot is 0.125 mm. A module must be a whole number of dots:

Dots per module Module size Verdict
2 0.25 mm fails intermittently
3 0.375 mm marginal
4 0.5 mm the working floor
6 0.75 mm comfortable

At 4 dots per module, a version 5 code (37 modules) is 18.5 mm — which is exactly why 2 cm labels work. A 300 dpi head drops the floor to 0.34 mm; the trade-offs between printer classes are in direct thermal vs thermal transfer.

The fractional-dot failure

The failure unique to this medium: a QR code generated as an image and scaled to fit the label template. If the image's modules land on fractional dot boundaries — say 4.4 dots — the printer rounds, and the rounding alternates: some module columns print 4 dots wide, others 5. The pattern develops systematically fat and thin stripes. A forgiving bench imager may still read it while a phone camera at 25 cm does not, which produces the maddening "scans on one device only" ticket.

The fix is to skip raster entirely: label printers generate QR codes in firmware — ^BQ in ZPL, with equivalents in EPL, DPL and TSPL — placing every module on exact dot boundaries. Settings and magnification values are in the Zebra and label printer guide, with the broader context in thermal printer QR codes.

Error correction and volume

EC M is the standard for labels: they are printed fresh and scanned within days, so heavy redundancy buys little, while the lower density keeps modules at 4+ dots. For variable data at volume — one code per parcel — generate and decode-verify every label before the run; UseQR's bulk generator verifies each code as it produces it, and the size calculator plus validator settle any dispute about a template before it ships to every depot.

FAQ

What size should a QR code be on a shipping label?

2–2.5 cm. Bench imagers read from 10–15 cm and phone cameras from 20–30 cm, and at 4 printer dots per module on a 203 dpi thermal printer, a typical tracking-URL code lands at almost exactly 2 cm.

Why is my thermal-printed QR code blurry or striped?

The code was sent as an image and scaled, so modules fall on fractional dot boundaries and the printer rounds them inconsistently. Use the printer's native QR command (ZPL ^BQ or equivalent) so every module is a whole number of dots.

What error correction level should shipping labels use?

M. Labels are short-lived and scanned soon after printing, so 15% recovery is enough, and the lower module count keeps each module at or above the 0.5 mm floor a 203 dpi head requires.

Can a QR code replace the carrier's barcode on a label?

No. Carrier barcodes are mandated by their label specifications and read by their sorters. Add your QR code in free space on the label, sized and placed so it never intrudes on the carrier's required zones.

Try it — free, no signup