Barcodes

Why Your ZPL Barcode Does Not Scan

A ZPL barcode can look correct on screen and still fail to read. It is usually a combination of module width, print quality, quiet zones, DPI and data format.

A ZPL barcode can look correct on screen and still fail to read. It is usually a combination of module width, print quality, quiet zones, DPI and data format.

Common causes

Module width too small

If the narrowest bar is only 1 dot at 203 dpi, heat bleed and paper quality blur the bars. Start with ^BY2 or ^BY3 and test with the actual scanner.

Too little quiet zone

Scanners need free white space before and after the barcode. If text, borders or the label edge sit too close, the symbol is recognised unreliably.

Barcode too short

Very short barcodes are hard to read with handheld scanners – especially on curved parcels. Increase the height in the ^B command.

Wrong symbology or invalid data

EAN and UPC need numeric data with valid length and check digit. Code 39 supports only a limited character set. If the data format does not match, the scan fails.

Darkness, speed or DPI do not match the media

Too much darkness widens bars, too little breaks them. High print speed blurs edges. Tune DPI, media and darkness before serial production.

Quick checklist

  • Choose a safe module width: test ^BY3 on 203 dpi printers and only reduce when the scanner reads reliably.
  • Leave clear quiet zones on both sides – no borders, text or images right at the first/last bar.
  • Increase the barcode height and keep the interpretation line enabled during testing to compare the encoded value.
  • Check the data format: Code 128 for flexible alphanumeric data, EAN-13/UPC only for retail standards.
  • Print a real label and scan it with the production device – a browser preview proves no scannability.

Safe Code 128 test label

Code 128 with ^BY3 and 120 dots height – a good starting point for many 203 dpi Zebra printers.

^XA
^PW812
^LL406
^FO40,40^A0N,32,32^FDCode 128 scan test^FS
^FO40,100^BY3,2,120
^BCN,120,Y,N,N
^FD123456789012^FS
^XZ
ZPL preview: Why Your ZPL Barcode Does Not Scan

FAQ

Which ZPL command controls the barcode width?

^BY sets module width, wide/narrow ratio and the default height of many linear barcodes. The first value matters most for reliable scanning.

Does a preview prove scannability?

No. The preview helps with layout and data, but scannability depends on the real print, media, darkness, DPI and scanner.

Which barcode type should I use?

Code 128 for most internal logistics and inventory labels. EAN-13 or UPC only when the retail system requires those standards.