Skip to content
barcoder

Standards/iata-2-of-5

IATA 2 of 5

Type1D Linear
Completeness78%high

Overview

IATA 2 of 5 (also Airline 2 of 5, 2 of 5 IATA, Computer Identics 2 of 5) is a numeric-only, discrete, two-width 1D barcode in the "2 of 5" family, named for the International Air Transport Association that adopted it for air-cargo and baggage handling [1, 2, 3]. Like standard-2-of-5, it encodes each digit as five bars, two wide and three narrow, with all data carried in the bars only — the spaces are uniform separators [1, 4].

IATA 2 of 5 is best understood as a minor variant of standard-2-of-5 (Industrial 2 of 5): the two are "fully similar… except start/stop symbols" [1]. The airline industry simply specified its own start and stop patterns so that air-cargo and baggage readers could be tuned to a distinct symbology, while the digit encoding itself is unchanged.

History

IATA 2 of 5 was created in 1974 by Computer Identics Corp. — the same company (with Identicon) behind the 1971 standard-2-of-5 — which is why it is also known as Computer Identics 2 of 5 [1, 3]. It was designed for and adopted by the International Air Transport Association for managing air cargo and, later, baggage handling [1, 3].

It sits in the same early-1970s wave of "2 of 5" symbologies as Standard 2 of 5 (1971) and Interleaved 2 of 5 (itf, 1972, David Allais). Where ITF chased density, IATA's design goal was simply a reliable, scanner-distinguishable numeric code for the airline supply chain — achieved by reusing the proven Standard 2 of 5 encoding under airline-specific start/stop framing.

Technical specification

IATA 2 of 5 is a discrete, numeric-only, variable-length 1D symbology, structurally identical to standard-2-of-5 apart from its framing characters [1, 2, 4]:

Parameter Value
Symbology family 1D linear, "2 of 5" family
Character set Digits 0–9 only
Length Variable; airline "license-plate" use is fixed-length
Encoding Data in bars only — 5 bars per digit, 2 wide + 3 narrow; spaces uniform [1, 4]
Difference from Standard 2 of 5 Only the start/stop patterns differ [1]
Start pattern Narrow–narrow–wide [4]
Stop pattern Wide–narrow–narrow [4]
Self-checking No
Check digit Optional; Mod 10 (weighted 3/1) [4], or an enforceable Mod 1010 in some implementations [2]
Quiet zone 10 × narrow-element width each side

Identical encoding, different framing [1]: every IATA 2 of 5 data digit is encoded exactly as in Standard 2 of 5 — five bars, two wide, data in bars only. The only structural difference is the start and stop bar patterns, which the airline industry chose to distinguish the symbology to readers [1, 4].

Airline "license plate" usage [3]: in IATA baggage-tag practice the barcode carries a unique ten-digit license plate — a leading digit, the airline's three-digit carrier code, and a six-digit bag ID — that keys into sortation and loading systems. Air-cargo applications similarly carry fixed-length numeric identifiers (commonly cited as a 16-data-digit payload plus one check digit, 17 total) [1].

Use cases

IATA 2 of 5's deployments are almost entirely in aviation logistics [1, 2, 3]:

  • Air cargo identification — origin, destination, and consignment identifiers to onboard and offload freight [2].
  • Baggage handling / luggage tags — the ten-digit license-plate number that drives automated sortation and aircraft loading [3].
  • Airline tickets — sequential and identifier numbering (a use shared with the closely related standard-2-of-5) [1].

Its numeric-only simplicity and tolerance of high-volume, high-speed conveyor scanning made it well suited to airport sortation belts before 2D and license-plate-over-Code-128 systems began to supplement it.

Implementations

IATA 2 of 5 is a legacy checkbox in barcode libraries and is natively supported by aviation-oriented scanner SDKs [2, 5]:

  • Czint/zint — ~771★, active 2026. Lists "Code 2 of 5 IATA" among supported symbologies.
  • Mobile / SDK — Scandit's barcode-scanning SDK supports IATA 2 of 5 ("Computer Identics 2 of 5"), with an optional enforceable Mod-1010 checksum [2]; Scanbot and other luggage-tag scanner SDKs target it for airport operations [3].
  • JavaScriptbwip-js (BWIPP) exposes iata2of5.
  • Commercial — Accusoft Barcode Xpress ("Airline 2 of 5") and Seagull/BarTender retain it.

Comparison

vs. standard-2-of-5 (Industrial 2 of 5) — the key relationship: identical digit encoding, data in bars only, differing only in start/stop patterns [1]. IATA 2 of 5 is essentially Industrial 2 of 5 re-badged with airline framing characters.

vs. Interleaved 2 of 5 (itf) — both numeric "2 of 5" codes, but ITF interleaves digit pairs across bars and spaces for ~2× the density, whereas IATA 2 of 5 keeps all data in the bars and is correspondingly lower-density [1]. Modern airline systems that need density or alphanumerics increasingly favour code-128 or 2D codes (aztec, pdf417 on boarding passes/bag tags).

vs. matrix-2-of-5 — Matrix 2 of 5 encodes data in both bars and spaces (denser than IATA's bars-only design) but is also a discrete code less dense than Interleaved 2 of 5 [3].

Fun facts

The "IATA" in the name is purely an adoption credit: the symbology is mechanically just standard-2-of-5 with different start/stop bars [1] — a reminder that several "distinct" barcode symbologies in the 2-of-5 family are really the same encoding under different framing.

The ten-digit baggage "license plate" [3] is a tidy design: rather than encoding flight, owner, and routing into the barcode, it encodes only a key (leading digit + 3-digit carrier code + 6-digit bag ID), and every downstream system looks the rest up — an early, deliberately minimal "license-plate" pattern later echoed by modern logistics codes.

Status

Legacy / niche, still in aviation use. IATA 2 of 5 persists in airport baggage and air-cargo systems and is supported by aviation scanner SDKs (Scandit, Scanbot) and general libraries (zint, bwip-js, BarTender) [2, 3, 5]. As with the rest of the bars-only 2-of-5 family it is being supplemented and replaced by code-128 license-plate codes and 2D symbologies for higher density and richer payloads; no new general adoption is occurring outside its established airline niche [1].

Sources

  1. Industrial 2 of 5 (incl. IATA variant) — Wikipedia
  2. IATA 2 of 5 — Scandit
  3. How a mobile luggage-tag scanner streamlines airport operations — Scanbot
  4. Encoding of IATA 2 of 5 barcode — free-barcode.com
  5. zint/zint — GitHub
  6. Airline 2 of 5 Barcodes — Accusoft Barcode Xpress

Deployments

No country reports mention this standard by name.

Regions / aggregations not mapped to a single country

  • Universal
source · docs/standards/iata-2-of-5/index.md