# IATA 2 of 5

> Source: https://docs.barcoder.ai/docs/standards/iata-2-of-5
> research date 2026-06-04 · extracted at 2026-10-03
> Publisher: Barcoder — encyclopedia of QR, barcode and payment-code standards

Specifications:
- [Industrial 2 of 5 (incl. IATA variant) — Wikipedia](https://en.wikipedia.org/wiki/Industrial_2_of_5)
- [IATA 2 of 5 — Scandit](https://www.scandit.com/products/barcode-scanning/symbologies/iata-2-of-5/)

## 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 <sup>[1][1], [2][2], [3][3]</sup>. Like [Standard 2 of 5](https://docs.barcoder.ai/docs/standards/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 <sup>[1][1], [4][4]</sup>.

IATA 2 of 5 is best understood as a **minor variant of [Standard 2 of 5](https://docs.barcoder.ai/docs/standards/standard-2-of-5) (Industrial 2 of 5)**: the two are "fully similar… except start/stop symbols" <sup>[1][1]</sup>. 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](https://docs.barcoder.ai/docs/standards/standard-2-of-5) — which is why it is also known as **Computer Identics 2 of 5** <sup>[1][1], [3][3]</sup>. It was designed for and adopted by the **International Air Transport Association** for managing air cargo and, later, baggage handling <sup>[1][1], [3][3]</sup>.

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](https://docs.barcoder.ai/docs/standards/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](https://docs.barcoder.ai/docs/standards/standard-2-of-5) apart from its framing characters <sup>[1][1], [2][2], [4][4]</sup>:

| 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 <sup>[1][1], [4][4]</sup> |
| Difference from Standard 2 of 5 | **Only the start/stop patterns differ** <sup>[1][1]</sup> |
| Start pattern | Narrow–narrow–wide <sup>[4][4]</sup> |
| Stop pattern | Wide–narrow–narrow <sup>[4][4]</sup> |
| Self-checking | No |
| Check digit | Optional; **Mod 10** (weighted 3/1) <sup>[4][4]</sup>, or an enforceable **Mod 1010** in some implementations <sup>[2][2]</sup> |
| Quiet zone | 10 × narrow-element width each side |

**Identical encoding, different framing** <sup>[1][1]</sup>: 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 <sup>[1][1], [4][4]</sup>.

**Airline "license plate" usage** <sup>[3][3]</sup>: 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) <sup>[1][1]</sup>.

## Use cases

IATA 2 of 5's deployments are almost entirely in **aviation logistics** <sup>[1][1], [2][2], [3][3]</sup>:

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

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 <sup>[2][2], [5][5]</sup>:

- **C** — [zint/zint][5] — ~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 <sup>[2][2]</sup>; Scanbot and other luggage-tag scanner SDKs target it for airport operations <sup>[3][3]</sup>.
- **JavaScript** — `bwip-js` (BWIPP) exposes `iata2of5`.
- **Commercial** — Accusoft Barcode Xpress ("Airline 2 of 5") and Seagull/BarTender retain it.

## Comparison

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

**vs. Interleaved 2 of 5 ([ITF](https://docs.barcoder.ai/docs/standards/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 <sup>[1][1]</sup>. Modern airline systems that need density or alphanumerics increasingly favour [Code 128](https://docs.barcoder.ai/docs/standards/code-128) or 2D codes ([Aztec](https://docs.barcoder.ai/docs/standards/aztec), [PDF417](https://docs.barcoder.ai/docs/standards/pdf417) on boarding passes/bag tags).

**vs. [Matrix 2 of 5](https://docs.barcoder.ai/docs/standards/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 <sup>[3][3]</sup>.

## Fun facts

The "IATA" in the name is purely an adoption credit: the symbology is **mechanically just [Standard 2 of 5](https://docs.barcoder.ai/docs/standards/standard-2-of-5) with different start/stop bars** <sup>[1][1]</sup> — 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"** <sup>[3][3]</sup> 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) <sup>[2][2], [3][3], [5][5]</sup>. As with the rest of the bars-only 2-of-5 family it is being supplemented and replaced by [Code 128](https://docs.barcoder.ai/docs/standards/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 <sup>[1][1]</sup>.

## Sources

[1]: https://en.wikipedia.org/wiki/Industrial_2_of_5
[2]: https://www.scandit.com/products/barcode-scanning/symbologies/iata-2-of-5/
[3]: https://scanbot.io/blog/how-a-mobile-luggage-tag-scanner-streamlines-airport-operations/
[4]: https://free-barcode.com/barcode/barcode-types-d/encoding-iata-2of5-barcode.asp
[5]: https://github.com/zint/zint
[6]: https://www.accusoft.com/barcodes/airline-2-of-5-barcodes/
[standard-2-of-5]: https://docs.barcoder.ai/source/standards/standard-2-of-5
[matrix-2-of-5]: https://docs.barcoder.ai/source/standards/matrix-2-of-5
[itf]: https://docs.barcoder.ai/source/standards/itf
[code-128]: https://docs.barcoder.ai/source/standards/code-128
[aztec]: https://docs.barcoder.ai/source/standards/aztec
[pdf417]: https://docs.barcoder.ai/source/standards/pdf417

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

## Deployments

_No country reports mention this standard by name._

## Regions / aggregations not mapped to a single country

- Universal
