Barcode Scan-Proof

Paste ZPL: every barcode is rendered at printer resolution, read back by two independent decoders (zxing-cpp and ZXing.Net) and compared with the data of its field. You get the measured X-dimension, quiet zones, bar height, overlaps and a digital pre-check grade A–F modelled on ISO/IEC 15415/15416.

Automate this tool via the API: POST /v1/tools/barcode-scan-proof API docs

Label size comes from ^PW/^LL in the ZPL, otherwise 4 × 6 in. Choose the resolution of your printer - all millimetre values are calculated with it.

Digital pre-check modelled on ISO/IEC 15415/15416, computed from the rendered label at printer resolution. It is not an ISO-conformant verification: print effects (dot gain, darkness, speed, media, printhead wear) are not measured, and it does not replace a calibrated verifier on the printed label.

How the scan-proof works

A barcode can be valid in the ZPL and still fail on the label: a field next to it eats into the quiet zone, the label edge cuts off the bars, a module width of 2.5 dots rounds unevenly, or the printed text line says something else than the bars. The scan-proof renders the label like the printer, cuts every symbol out and lets two independent decoders read it. Then it measures the symbol on the bitmap and grades it with the parameters of ISO/IEC 15416 (linear) and ISO/IEC 15415 (2D).

Checked: decoded data against the field data (GS1 element by element), quiet zones on every side, X-dimension in mm, bar height, clipping at the label edge, overlap with other fields, module rounding and the interpretation line. Supported are Code 128/GS1-128, EAN/UPC, Code 39/93, Interleaved 2 of 5, Codabar, QR Code, Data Matrix, PDF417, Aztec, MaxiCode, GS1 DataBar and more. The grade is a digital pre-check: for acceptance, verify the printed label with a calibrated verifier.

Related: Check barcode reads a photo or scan of a printed code and checks its GS1 content, the Label Compliance Check tests the whole label against carrier and GS1 rules. Engine: zplCore.com.