Skip to content
barcoder

Standards/codablock-f

Codablock-F

Type2D Stacked Linear
Completeness72%high

Overview

Codablock-F is a two-dimensional stacked barcode symbology built from a stack of Code 128 rows 12. A single symbol comprises 2 to 44 stacked Code 128 lines, each carrying 4 to 62 data characters, and the symbology can encode up to 2,725 characters with full ISO 8859-1 (Latin-1) support 12. It was created by ICS Identcode-Systeme GmbH in Germany and standardized as an AIM standard in 1995 1.

History

Codablock was invented in 1989 by Heinrich Oehlmann at Identcode-Systeme GmbH (ICS) in Germany 1. The original variant, Codablock A, was a stacked extension of Code 39 supporting 2–22 lines of 1–61 characters each, encoding up to 1,340 characters with modulo-43 checksums, and was standardized as an AIM standard in 1994 1. Codablock F, the later and more capable variant, restacks Code 128 instead of Code 39 and was standardized as an AIM standard in 1995 1. The "F" denotes this Code 128-based family, distinguishing it from the earlier Code 39-based Codablock A 1.

Technical specification

A Codablock-F symbol is a vertical stack of 2 to 44 rows, each of which is essentially a Code 128 barcode 12. Each row contains, in order: a leading quiet zone, a start character, a character subset selector, a row indicator, the data characters (4 to 62 per row), a row check character, a stop character, and a trailing quiet zone 2. Rows are separated by a horizontal row-separator bar that extends the full width of the symbol (excluding the start and stop characters) 2. The row indicator appears in the second position of each row after the mode/data character; in the first row this position instead encodes the total row count, allowing decoders to reassemble rows in order 1.

Because it is built on Code 128, Codablock-F uses the three Code 128 character subsets: Subset A (digits, uppercase letters, punctuation, and control characters, ASCII 00–95), Subset B (digits, upper- and lowercase letters, and punctuation, ASCII 32–127), and Subset C (numeric digit pairs 00–99, two digits per character) 2.

Data integrity is enforced by multiple layered checks: two mandatory check digits computed with a modulo-86 algorithm covering the overall data, plus a mandatory per-row check character based on the modulo-103 algorithm (the same modulus as a standard Code 128 check character) 12. The last row carries the two additional overall checksum characters 1.

Use cases

Codablock-F's principal application has been in the healthcare industry, where it is used to carry HIBC (Health Industry Bar Code) data on items and packaging 1. Its stacked Code 128 structure allows substantial alphanumeric data to be placed on small or narrow labels typical of medical and pharmaceutical products 12.

Implementations

  • Zint (github.com/zint/zint) — C; open-source library that explicitly lists "Codablock F (and HIBC)" support among its 50+ symbologies; ~771 stars; actively maintained 3.
  • BWIPP (Barcode Writer in Pure PostScript) (github.com/bwipp/postscriptbarcode) — PostScript; pure-PostScript encoder with a dedicated Codablock-F module 6.

Comparison

Codablock-F and Code 16K are closely related: both are stacked symbologies built on Code 128 and both were developed in 1989 for compact, high-data-density labeling 15. They differ in scale and structure — Codablock-F allows up to 44 rows with variable-length rows (4–62 characters each) and a capacity of ~2,725 characters, whereas Code 16K is capped at 16 rows of exactly five characters each, with a single-symbol capacity of around 77 ASCII characters 125. Against a true 2D matrix code such as Data Matrix, Codablock-F is bulkier and lower-density; in modern practice Codablock codes are largely superseded by Data Matrix, and Codablock F is treated as a historical standard not recommended for new applications 1.

Status

Codablock-F is an AIM standard (1995) that remains in legacy use, principally in healthcare/HIBC labeling 1. It is formally regarded as a historical symbology, with new deployments generally directed toward Data Matrix instead 1.

Sources

  1. Codablock — Wikipedia — Wikipedia, accessed 2026
  2. CODABLOCK F — Barcode Guide — Seagull Scientific
  3. zint/zint — GitHub, accessed 2026
  4. Codablock — HandWiki — HandWiki
  5. Code 16K — Wikipedia — Wikipedia, accessed 2026
  6. Barcode Writer in Pure PostScript — GitHub, accessed 2026

Deployments

No country reports mention this standard by name.

Regions / aggregations not mapped to a single country

  • Universal
source · content/standards/codablock-f/index.md