Standards/channel-code
Channel Code
Overview
Channel Code is a linear, continuous, self-checking, bidirectional 1D barcode symbology designed to encode short numeric strings — between two and seven digits — in the shortest possible space [1][2]. It supports only the numeric digits 0–9 [2] and requires no separate check character because it is self-correcting [2]. Its design goal is maximum compactness for tiny print areas [1][2].
History
Channel Code was invented by Ted Williams and Andy Longacre in 1992 [2]. It is standardized as AIM BC12 — Uniform Symbology Specification: Channel Code (also referenced as ANSI/AIM BC12-1998 / USS Channel Code) [2][1].
Technical specification
-
Character set: numeric digits 0–9 only [2].
-
Compactness principle: rather than assigning each digit its own pattern, Channel Code encodes the entire numeric value as a single combinatorial arrangement within a fixed number of "channels," allowing very short symbols [2].
-
Channels 3–8: six symbol sizes are defined, called channels 3 through 8. The channel number equals one more than the number of digits encoded (e.g. channel 5 encodes four digits) [2][1]. Each channel has a fixed value range:
Channel Digits Value range 3 2 0–26 4 3 0–292 5 4 0–3,493 6 5 0–44,072 7 6 0–576,688 8 7 0–7,742,862 -
Self-checking: the symbology is self-checking/self-correcting and needs no extra check character [2]. (An optional check bar suffix is available in some implementations via an
includecheckoption [5].) -
Scanner attunement: a scanner must be set ("attuned") to the specific channel of the symbol it is reading; it is recommended to fix the channel so all relevant scanners use a matching setting [2][1].
-
Dimensions: the minimum bar height is 5.0 mm or 15 percent of the symbol length, whichever is greater [1].
Use cases
Channel Code is intended for situations demanding the smallest possible symbol footprint for a short numeric value — i.e. very small or constrained print areas where a conventional numeric barcode would not fit [1][2]. Its self-checking, no-check-character design and tight value ranges make it suited to compact serial/sequence numbering rather than general-purpose labelling.
Implementations
- BWIPP (postscriptbarcode) — PostScript, active 2026. Implements Channel Code via the
channelcodeencoder with optionsshortfinder(shortened finder pattern) andincludecheck(optional check-bar suffix), plusincludetextfor human-readable output [5]. - zint — C, ~771 stars, active 2026. Lists Channel Code among its 50+ supported symbologies [3].
- bwip-js — JavaScript port of BWIPP, ~2.4k stars, active 2026; also supports Channel Code [3].
Comparison
- Channel Code vs. other compact numeric codes: unlike Interleaved 2 of 5 or MSI, which add width per additional digit at a roughly constant rate, Channel Code packs a whole bounded numeric value into a single fixed-size channel symbol, achieving shorter symbols for small values [2][1].
- Self-checking without a check digit: whereas MSI is not self-checking and Code 11 relies on appended C/K check digits, Channel Code is inherently self-correcting and requires no check character [2].
- Trade-off: the gain in density comes at the cost of scanner channel-attunement requirements and strict per-channel value ceilings, limiting it to short, bounded numeric data [2][1].
Status
Channel Code is a specialized, niche symbology — uncommon in mainstream use but standardized (AIM BC12) and supported by current barcode-generation libraries (BWIPP, zint, bwip-js). It survives as the compact-numeric option of choice for very small print areas rather than as a general-purpose code [1][2][5].
Sources
1 Channel Code — Seagull Scientific Barcode Guide, accessed 2026. 2 Channel Code Barcode (ANSI/AIM BC12-1998) — Neodynamic, accessed 2026. 3 zint — A barcode encoding library — GitHub (zint/zint), accessed 2026. 4 Channel Code — Seagull Scientific (BarTender) help, accessed 2026. 5 Channel Code — BWIPP (postscriptbarcode) wiki, accessed 2026.
Deployments
No country reports mention this standard by name.
Regions / aggregations not mapped to a single country
- Universal