PDF417 Barcode Symbology

PDF417 Overview

PDF417 picture

PDF417, or Portable Data File 417, is a two-dimensional stacked bar code symbology capable of encoding over a kilobyte of data per label. This is important for applications where a bar code must be more than merely an identifier such as an index to reference a database.

The "portable data file" approach is well suited to applications where it is impractical to store item information in a database or where the database is not accessible when and where the item's bar code is read. Because a PDF417 symbol can store so much data, item data such as the content of shipping manifest or equipment maintenance history can be carried on the item, without requiring access to a remote database.


A PDF417 symbol is made up of multiple data columns, which are sometimes referred to as the data column area. The number of data columns can vary from 3 to 30, to accomadate user's real estate requirements. These columns contain encoded data, as well as error correction information. Within the data column area, a single PDF417 can contain no more than 928 codewords. An example of a 3 column PDF417 symbol appears below:

PDF417 columns


A PDF417 bar code can have anywhere from 3 to 90 rows. This allows a PDF417 symbol to be reshaped by adjusting the number of rows. The following PDF417 symbol has 6 rows:

PDF417 rows

Error Correction

The PDF417 symbology has error correction capability. This capability enables scanners to read the bar code even if it has been torn, written on, or damaged in other ways. How much damage a symbol can withstand depends on the amount of error correction in each PDF417 symbol. The user has the ability to select 1 of 9 error correction levels for each symbol printed. Error correction is specified by selecting a level from 0 to 8. At level 0, a damaged PDF417 cannot be read, but the damage can be detected. At levels 1 through 8, a PDF417 symbol can still be read, even when damaged. As the error correction level increases, more damage can occur to the symbol and still be read. Consequently, the the higher the error correction level, the larger the symbol becomes, while the data capacity goes down. The following table illustrates these facts:

Error Correction Level Error Correction Codewords Error Correction Capacity
0 2 0
1 4 1
2 8 3
3 16 7
4 32 15
5 64 31
6 128 63
7 256 127
8 512 255

Error Correction Capacity

PDF417 symbols can be damaged and still decoded. The amount of damage that a symbol can withstand is it's error correction capacity. For example, at level 5 error correction, 64 codewords of error correction are used. At this level, 31 codewords can have errors, while still being read correctly. If more than 31 errors exist, the symbol is unreadable.