Used by 700,000+ people
Free PDF417 barcode generator.
PDF417 is a stacked 2D barcode for complete records, from transport label messages to North American driver's licence data. Enter your text and download the symbol.
How to create a PDF417 barcode
-
01
Type the text or label message
Line breaks are encoded too; columns and error correction follow from the data. For an ISO/IEC 15434 label message in format 06, tick Escape sequences, start with
[)>\x1E06, put\x1Dbefore each field and end with\x1E\x04. -
02
Set the module width in whole printer dots
Set Resolution (dpi) to your printer's (higher resolution with a plan) and Module width to Millimeter. Enter a width of whole dots, such as 0.254 mm for 3 dots at 300 dpi; rows are then 3 modules high.
-
03
Download, leave 2 modules clear, test
Place the downloaded PNG at 100%. The image ends at the bars: keep 2 modules (0.51 mm at 0.254 mm) clear on all sides, then scan a test print.
What PDF417 is and when to use it
PDF417, specified in ISO/IEC 15438, stacks short linear barcodes into one 2D symbol: each row holds codewords between a start and a stop pattern. Use it when one scan must deliver a complete record: a transport label message, driver's licence data or a paper boarding pass. It also suits sites with laser scanners for linear barcodes.
Where PDF417 is used: driver's licences, boarding passes, shipping labels
Compliant US and Canadian driver's licences and ID cards must carry PDF417, under the card design standard of the American Association of Motor Vehicle Administrators (AAMVA). The standard mainly serves law enforcement. The International Air Transport Association (IATA) lists PDF417 for paper boarding passes; mobile passes use Aztec, Data Matrix or QR Code.
MIL-STD-129R requires PDF417 on US military shipping labels. Most of TEC-IT's automotive templates for Ford GTL, VW GTL and GM 1724 (2001) labels put a complete ISO/IEC 15434 message into one PDF417. Data identifiers such as P (part number) and Q (quantity) lead its fields.
How PDF417 holds a whole record and stays readable
Compaction keeps the symbol small: text mode puts up to two characters into a codeword, numeric mode 44 digits into 15 or fewer. The PDF417 on a US military shipping label holds up to about 1,000 characters. Error correction codewords help laminated or scuffed codes stay readable.
Laser scanners for linear barcodes read PDF417 too, IATA notes, because its decoding works with scan lines; they cannot read matrix codes. AAMVA and MIL-STD-129R require rows at least 3 modules high; taller rows may scan better but hold less in the same space.
Image formats, label templates and software for volume
The online generator downloads PNG, GIF and JPG, and SVG with a plan. TEC-IT's Ford, VW and GM label templates build the PDF417 message from the fields you fill in, header and separators included.
For a fixed error correction level, column count or row height, use TBarCode SDK, whose API sets all three. Its Macro PDF417 settings link several symbols for oversized data. Barcode Studio exports PDF417 series from CSV lists or by command line, and TBarCode Office links a PDF417 to an Excel cell.
PDF417 at a glance
- Type
- Stacked 2D symbology
- Standard
- ISO/IEC 15438:2015, confirmed in 2021
- Codeword
- 17 modules: 4 bars and 4 spaces of 1–6 modules each
- Character set
- ASCII and bytes 0–255; text, numeric and byte compaction
- Capacity
- 2,710 digits, 1,850 capitals and digits or 1,108 bytes at error correction level 0
- Error correction
- Level set per application: AAMVA at least 3, MIL-STD-129R 5
- Row height
- At least 3 modules (AAMVA, MIL-STD-129R)
- Quiet zone
- 2 modules on all four sides (ISO/IEC 15438, as quoted by IATA)
- Module width (X)
- Set by the application, e.g. 0.170–0.380 mm on AAMVA cards
How the sample PDF417 is built
Every row has the same layout: a 17-module start pattern, a left row indicator, the data columns, a right row indicator and an 18-module stop pattern. The row indicators carry the number of rows and columns and the error correction level.
- Data:
This is a PDF417 by TEC-IT, 26 characters, encoded in text compaction. - Codewords: 19 data codewords, the symbol length descriptor included, plus 8 error correction codewords at level 2: 27 in all.
- Layout: 3 data columns × 9 rows hold the 27 codewords.
- Size: 17 + 17 + 3 × 17 + 17 + 18 = 120 modules wide, 9 × 3 = 27 high; at 0.254 mm, 30.5 × 6.9 mm.
Two characters per codeword would give 13 codewords; switching between capitals, lower case, digits and the hyphen costs 4 more, and 1 pad codeword fills the rest. TEC-IT's reference puts mixed text at about 1,100–1,200 characters per symbol.
PDF417 print settings: module width, row height, quiet zone
A PDF417 is (17 × data columns + 69) modules wide and rows × row height high, plus the quiet zone. With the module width X in whole printer dots, the sample measures:
| Printer | Module width X | Row height (3X) | Sample, 120 × 27 modules |
|---|---|---|---|
| 203 dpi | 0.250 mm (2 dots) | 0.751 mm | 30.0 × 6.8 mm |
| 203 dpi | 0.375 mm (3 dots) | 1.126 mm | 45.0 × 10.1 mm |
| 300 dpi | 0.254 mm (3 dots) | 0.762 mm | 30.5 × 6.9 mm |
| 300 dpi | 0.339 mm (4 dots) | 1.016 mm | 40.6 × 9.1 mm |
| 600 dpi | 0.212 mm (5 dots) | 0.635 mm | 25.4 × 5.7 mm |
| Requirement | AAMVA driver's licence | MIL-STD-129R shipping label | IATA boarding pass guide |
|---|---|---|---|
| Module width X | 0.170–0.380 mm | 0.254–0.432 mm, up to 12 data columns | from 0.25 mm |
| Row height | at least 3X | at least 3X | 3X or more recommended |
| Quiet zone | at least 1X, all sides | at least 1.0 mm, all sides | 7X minimum, 10X preferred |
| Error correction level | at least 3, 5 recommended | 5 | not set |
| Print quality (ISO/IEC 15415) | 2.5 (B) before, 1.5 (C) after lamination | at least 2.5 (B) | test advised |
- Orientation. AAMVA and MIL-STD-129R require the bars perpendicular to the natural bottom of the card or label: leave Rotation at 0°.
- Columns. MIL-STD-129R allows at most 12 data columns on shipping labels; the generator chose 10 for 400 characters.
- Verification. An ISO/IEC 15415 verifier grades codeword yield, contrast, modulation, non-uniformity and unused error correction; AAMVA recommends checking samples daily.
Common PDF417 mistakes
- Squeezing the rows. Scaling the image in height only, to fit a label box, can take rows below the 3-module minimum of AAMVA and MIL-STD-129R. Scale both directions alike, or generate at final size.
- Two dots per module at 203 dpi on a military label. That is 0.250 mm, below the 0.254 mm minimum of MIL-STD-129R. Use 3 dots (0.375 mm) instead.
- No margin around the code. Text or frames touching the start and stop patterns can be read with the code. Keep 2 modules free, or more if your specification asks.
- Accepting the automatic error correction level. The generator chose level 2 for the sample and level 3 for a 90-character label message; AAMVA requires at least 3, MIL-STD-129R 5. For a required level, use TBarCode SDK or a TEC-IT label template that sets it.
PDF417 compared with related codes
Row address patterns of 10 modules replace start and stop patterns and row indicators; a 1-module quiet zone is enough. AAMVA rules it out on driver's licences, like Macro and Compact PDF417.
A matrix code with a 1-module quiet zone; laser scanners cannot read it. TEC-IT's GM 1724 templates print PDF417 for the 2001 revision and Data Matrix for 2018 and 2020.
Square, with a 4-module quiet zone and up to 7,089 digits. IATA allows it on mobile boarding passes, because PDF417 is not suited to screens.
Also stacked, but each row is a Code 128 symbol with row indicators: 2–44 rows of 4–62 characters, with 10-module quiet zones left and right.
A square code with a central bullseye that needs no quiet zone; IATA lists it for mobile and printed boarding passes.
Frequently asked questions
Learn more about PDF417.
How much data fits in a PDF417?
What data does the PDF417 on a US driver's licence hold?
Which error correction level should a PDF417 use?
Can PDF417 encode umlauts, € or Cyrillic text?
Is PDF417 free to use?
Can PDF417 carry GS1 data such as a GTIN?
More resources
PDF417 (2D Barcode)
PDF417 is a 2d barcode (stacked symbology) used in a variety of applications, primarily transport, identification cards, and inventory management. PDF stands…
ProductTBarCode SDK
The developer package for Windows: .NET, OCX and DLL components generate and print 100+ barcode symbologies from your applications.
ProductBarcode Studio
100+ barcode types, a live quality check and batch export.
ProductTBarCode Office
Add compliant barcodes to documents, mail merges and spreadsheets.