IEC 16388-08 (2018) / ISO/IEC 16388:2018 — PDF417 Bar Code Symbology Specification: Technical Overview and Implementation Guidelines

A comprehensive review of the international standard for the PDF417 two-dimensional bar code, including encoding rules, error correction, and compliance requirements.

Scope of IEC 16388-08 (2018) / ISO/IEC 16388:2018

The international standard IEC 16388-08 (2018), also published as ISO/IEC 16388:2018, specifies the requirements for the PDF417 (Portable Data File 417) bar code symbology. PDF417 is a two-dimensional stacked bar code symbology capable of encoding large amounts of data in a machine-readable format. This standard, developed jointly by the International Electrotechnical Commission (IEC) and the International Organization for Standardization (ISO), defines the symbology characteristics, data encoding rules, symbol structure, dimensions, error detection and correction algorithms, and the reference decode algorithm. It is applicable to all applications that utilize PDF417, such as logistics, identification cards, transportation, and healthcare.

Tip: PDF417 is widely used in driver’s licenses, ID cards, and shipping labels due to its high data density and robust error correction.

Technical Requirements

Symbol Structure

A PDF417 symbol is composed of rows and columns of codewords, where each codeword is a group of 17 modules representing a number from 0 to 928. The symbol consists of a start pattern, left row indicator codewords, data codewords, error correction codewords, right row indicator codewords, and a stop pattern. The number of rows can range from 3 to 90, and the number of data columns per row can range from 1 to 30, allowing a total data capacity of up to 1,108 bytes per symbol.

Data Encoding

PDF417 supports three data compaction modes: Text (for alphanumeric characters), Byte (for binary data), and Numeric (for digits). The encoder automatically selects the most efficient mode to minimize the number of codewords. Each codeword represents a value from 0 to 928, and the data is encoded using a base-929 representation.

Error Correction

The standard mandates error correction codewords to ensure reliable reading even if the symbol is partially damaged or obscured. There are nine error correction levels (0 through 8), with level 0 providing minimal protection and level 8 offering maximum protection. The number of error correction codewords increases with each level, from 2 at level 0 to 512 at level 8.

Error Correction LevelNumber of Error Correction CodewordsApproximate Data Capacity (Bytes) at Maximum Symbol SizeRecommended Use Case
021,106Clean printing, low damage risk
141,104Office documents
281,100General use
3161,092Retail, logistics
4321,076Shipping labels
5641,044ID cards
6128980Healthcare, pharmaceuticals
7256852High-reliability environments
8512596Harsh environments, critical assets

Dimensions and Printing

The standard specifies minimum quiet zone (blank margin) of at least 1X module width on all sides, where X is the narrowest bar width. For most applications, X is 0.01 inches (0.254 mm) or larger. The symbol’s minimum height is 3 rows, and minimum width is determined by the number of columns and codewords. Print quality must meet the specifications for bar code symbols defined in ISO/IEC 15416.

Warning: Inadequate quiet zone is a common cause of PDF417 read failures. Always maintain at least 1X clearance from any printed elements or edges.

Implementation Highlights

Encoding Process

To implement PDF417 encoding, the data is first analyzed to select the optimal compaction mode and switch modes as needed. The data is then converted into a sequence of codewords using the base-929 conversion. Error correction codewords are generated using a Reed-Solomon algorithm over a Galois Field GF(929). Finally, the codewords are arranged into rows with row indicators, and the start/stop patterns are added.

Decoding Process

Decoding involves scanning the symbol to locate the start and stop patterns, reading the row indicators to determine the symbol configuration, then extracting the codewords. The Reed-Solomon decoder checks and corrects errors using the error correction codewords. Corrected data codewords are then converted back to the original data using the mode switches.

Success: A correctly implemented decoder can recover the full data even if up to 50% of the codewords are damaged (at the highest error correction level).

Compliance Notes

Organizations adopting PDF417 should ensure that both the printing and scanning systems comply with the relevant parts of the ISO/IEC 15416 (print quality) and ISO/IEC 15415 (two-dimensional symbol quality) standards. Verification tools can measure the symbol’s quality grade (A through F). Compliance with IEC 16388-08 (2018) requires that the encoded data and the physical symbol parameters (dimensions, quiet zone, module size) adhere strictly to the standard.

Important: Using error correction levels below 2 is not recommended for applications where the symbol may be scanned under less-than-ideal conditions, such as in logistics or outdoor environments.

Application identifiers (AIs) as defined by GS1 can be used within PDF417 to encode specific data elements like batch numbers, expiration dates, and serial numbers. The standard allows any data representation, but for interoperability, using AIs or ASC MH10 data identifiers is highly advised.

Frequently Asked Questions

Q: What is the maximum amount of data that can be encoded in a single PDF417 symbol?
A: The maximum data capacity is 1,108 bytes (or 1,850 alphanumeric characters or 2,710 numeric digits) when using the largest symbol size (90 rows, 30 data columns, error correction level 0). For typical applications with higher error correction, the capacity is lower.
Q: Can PDF417 store binary data such as images or encrypted data?
A: Yes, by using the Byte compaction mode. Binary data can be encoded directly, but the data capacity in bytes is reduced compared to pure numeric or text modes. For maximum efficiency, encode data in the smallest code set suitable.
Q: How does IEC 16388-08 (2018) differ from the previous version?
A: The 2018 edition was a reaffirmation and minor update of the 2007 version, incorporating clarifications in the encoding algorithm and references to newer associated standards for quality and testing.
Q: What is the difference between PDF417 and a Data Matrix code?
A: PDF417 is a stacked linear symbology, while Data Matrix is a matrix symbology. PDF417 generally holds more data but requires more space than Data Matrix for equivalent data sizes. Both have strong error correction and are widely used in different industries.

📥 Standard Documents Download

🔒
Please wait 10 seconds, the download links will appear after the ad loads

Leave a Reply

Your email address will not be published. Required fields are marked *