Labelbench
  1. Home
  2. Shipping guides
  3. Barcodes on shipping labels: Code 128 and QR

Barcodes on shipping labels: Code 128 and QR

Which symbol to use, why quiet zones matter, and what a self-printed barcode can and cannot do.

A barcode on a parcel is a machine-readable copy of something already written on the label. It saves someone typing, and it removes the transcription errors that come with typing.

That is all it does. Worth being clear about, because the barcode is the part of a label people most often misunderstand.

A self-printed barcode is not a tracking number

If you print your own label, the barcode encodes whatever you put in it, usually your own order reference. It means something to you and to nobody else.

A tracking number is different. It is issued by a carrier, drawn from a range assigned to that carrier, and it exists in their system before the parcel does. No website can generate one, because generating one would mean writing into DHL’s or Royal Mail’s database.

So a self-printed barcode:

  • can let you scan a parcel in your own workflow and pull up the order
  • can be read by a warehouse scanner or a phone
  • cannot be tracked by a carrier
  • cannot replace the carrier’s own label

The normal workflow is both: your label with your reference, and the carrier’s label added at drop-off.

Code 128 versus QR

Code 128 is the linear barcode on almost every shipping label. Handheld scanners and warehouse equipment are built to read it, it encodes any ASCII text, and it is compact for short strings like an order reference.

Its weakness is that it must be read across its full width. A fold, a crease or a tear through the bars stops it.

QR is the square two-dimensional symbol. Two differences matter in practice:

  • Phones read QR and do not read Code 128. Every modern phone camera decodes a QR without an app. Almost none read a linear barcode reliably. If the person scanning is you, your customer, or a driver with a phone rather than a scanner gun, QR is the one that works.
  • QR survives damage. It carries error correction, so a QR with a torn corner or a scuff across it usually still reads. A Code 128 with a scratch through the bars often does not.

Code 128 stays the sensible default for anything entering a professional network, because that is what the equipment expects. QR is better when a human with a phone is doing the scanning.

Quiet zones, and why barcodes fail

The most common reason a printed barcode will not scan is not print quality. It is the quiet zone: the clear space a scanner needs at each end of the symbol to find where it starts and stops.

A Code 128 wants roughly ten times the width of its narrowest bar as clear space on each side. A QR wants a margin of four modules all the way round.

A barcode printed flush to the edge of a label, or with text crowding it, frequently will not read even when the bars themselves are perfect.

Printing rules that actually matter

  • Print at 100 percent. Never “fit to page”. Scaling changes the width of the narrowest bar, and below a certain width scanners stop resolving it.
  • Do not stretch one axis. A barcode squashed horizontally to fit a space no longer encodes what it claims to.
  • Keep it black on white. Scanners work on contrast. Coloured backgrounds, and red in particular, can be invisible to a red-laser scanner.
  • Watch shiny tape. Clear packing tape over a label is good practice for waterproofing, but a glossy finish can throw enough glare to stop a laser. Matte tape, or leave the barcode uncovered.
  • 203 dpi is enough. That is what desktop thermal printers do, and it is plenty for both symbols at normal sizes.

Test before you print a hundred

Whatever you generate, scan one with the thing that will actually scan it. A phone camera for QR, a scanner gun if you have one.

Symbols that look perfect on screen can fail on paper for reasons of size, contrast or quiet zone that are invisible until you try. This matters most on smaller label sizes, where the barcode gets squeezed and the quiet zone is the first thing sacrificed.

What this site does

Labelbench encodes your order reference as Code 128 by default, with QR as an option, and includes the quiet zone in both cases.

The barcode is your reference and nothing more. It is not a tracking number and no carrier network will recognise it.

Shipping guides