Skip to main content
Interleaved 2 of 5, often called ITF, is a compact barcode for numbers. It packs two digits into every group of bars and spaces, which makes it one of the densest numeric barcodes, and one of the easiest to misread.

Decode one

Scan or paste a barcode and see every part of it.

Make one

Generate a valid barcode from fields.

Where you’ll see it

  • Shipping cases, as ITF-14, the GS1 form with exactly 14 digits.
  • Warehouse and distribution labels with in-house numbering.
  • Older industrial and inventory systems, where it was a common choice for numeric codes.

Anatomy

Two digits per group

Every digit is drawn as five elements, two of them wide. That’s the “2 of 5”. The “interleaved” part is that the digits share space: the first digit of each pair sets which of five bars are wide, and the second sets which of the five spaces between them are wide. So every element carries data, and there are no gaps between characters. That’s what makes it dense.

Always an even number of digits

Because digits come in pairs, the number of digits is always even. To encode an odd-length number, add a 0 in front.

Wide and narrow

A wide element is 2 to 3 times the width of a narrow one. Printers can choose any ratio in that range, so scanners measure each barcode as they read it.

Check digit

Interleaved 2 of 5 has no required check digit. Some applications add one as the last digit, usually with the GS1 mod-10 algorithm. Nothing in the barcode says whether the last digit is data or a check, so the scanner and your app both have to be told. ITF-14 always has a check digit. See Check digits.
  • ITF-14: Interleaved 2 of 5 with 14 digits, a GS1 check digit and bearer bars.
  • 2 of 5 barcodes: the other members of the family, which use the same digit patterns differently.

Gotchas

  • A shorter number that looks valid. If a scanner’s path crosses only part of the barcode, it can read a shorter run of pairs that happens to decode. This is the classic Interleaved 2 of 5 failure. Fix the length, and turn on a check digit wherever the data has one.
  • A leading zero you didn’t expect. An odd-length number was padded to make it even.
  • Several barcode types at once. With Interleaved 2 of 5 enabled, random patterns on packaging occasionally decode as a short number. Enable it only for fields that need it.

Scanning it in your app

Fixing the length is the most important setting for this barcode type. See Validation.

Specification

  • ISO/IEC 16390: the Interleaved 2 of 5 barcode specification.