- Home
- Barcode Glossary
- Self-Checking
Self-Checking
A symbology is self-checking when each of its characters has a built-in structure that makes a single printing or scanning defect mathematically incapable of turning it into a different valid character.
What You Need to Know
Code 39 and Codabar achieve this by construction: each character contains exactly two wide elements out of five (or one wide pair out of three), so a single bar edge moving in or out cannot transform one valid character into another — it produces an invalid pattern the scanner rejects outright. Interleaved 2 of 5 is famously not self-checking in the substitution sense, which is exactly why bearer bars and check digits are recommended for it.
Self-checking is a per-character property and does not replace a check digit, which guards the whole string: a self-checking symbology can still deliver a wrong-length read (reading 6 of 12 digits) unless start/stop framing or a check digit catches it. For safety-critical labels — blood bags, specimens — the practical answer is layering both: a self-checking symbology plus a mandatory check digit plus verification.
Where Self-Checking Applies
The classic self-checking alphanumeric barcode: 43 characters, simple structure, still everywhere in industry.
Generate Code 39 →A self-checking numeric barcode with start/stop letters, historically used by libraries and blood banks.
Generate Codabar →A high-density, variable-length linear barcode that encodes all 128 ASCII characters, and the backbone symbology of modern logistics.
Generate Code 128 →