Home · Learn · PDF417 Barcode Explained
PDF417 Barcode Explained
PDF417 holds a lot of data on a narrow rectangle. It's why your driver's license has that long horizontal black-and-white bar. Here is how it works.
PDF417 is a 'stacked linear' 2D barcode invented in 1991 by Ynjiun Wang at Symbol Technologies. PDF stands for 'Portable Data File' and 417 is the structural pattern: every codeword is 4 bars + 4 spaces = 17 modules wide. Stacked linear means PDF417 is technically multiple rows of 1D barcodes stacked vertically — distinguishing it from true 2D matrix codes (QR, Data Matrix, Aztec) that have data in both dimensions.
PDF417 dominates three specific use cases: US driver's licenses (AAMVA standard requires PDF417 on the back of every state-issued ID), airline boarding passes (IATA BCBP standard, used heavily by US carriers), and shipping labels (DHL global tracking, FedEx waybills, some USPS internal logistics). Its capacity tops out at ~1,850 ASCII characters or ~1,108 bytes of binary data.
PDF417 vs true 2D codes (QR, Aztec, Data Matrix)
PDF417 is taller-than-wide and arranged in rows; QR/Aztec/Data Matrix are square and have data in both X and Y dimensions. PDF417's stacked-row format means a damaged row can be reconstructed via Reed-Solomon error correction, but a horizontal cut across all rows kills the code. True 2D codes can lose ~30% of their surface and still scan because the error correction works in both dimensions. For applications that benefit from the rectangular form factor — driver's licenses, boarding passes printed across the top of a paper strip — PDF417 wins. For square-form-factor needs (URL on a poster, payment QR), 2D codes win.
What's encoded on your driver's license PDF417
AAMVA (American Association of Motor Vehicle Administrators) standard. The PDF417 on the back of every US state ID encodes: name, address, date of birth, license number, height, weight, eye color, hair color, issue date, expiration date, license class, restrictions, endorsements. Each field uses a specific 'D' code identifier (DAA = customer family name, DAB = customer first name, DBB = date of birth in MMDDYYYY, etc.). Bartenders, TSA agents, and rental car kiosks scan this to auto-fill forms without manual entry. Privacy note: this is unencrypted plaintext readable by anyone with a $30 scanner.
PDF417 on shipping labels
DHL Express shipping labels carry a PDF417 containing the full waybill data — shipper, recipient, package count, weight, service type. The PDF417 is the canonical record; the visible 1D barcodes (Code 128 with tracking number) are secondary. When the package arrives at a DHL hub, the PDF417 is what the conveyor scanner reads to route. FedEx and UPS use similar but slightly different stacked codes on their international shipping labels.
Capacity and error correction
PDF417 capacity scales with the number of rows (3-90) and columns (1-30) you choose. Maximum: 90 rows × 30 columns = 2,710 codewords ≈ 1,108 bytes of binary, or 1,850 ASCII chars, or 2,725 numeric digits. Error correction levels 0-8, increasing redundancy. Level 5 (~33% redundancy) is the AAMVA driver's license standard — designed to survive being shoved in wallets, scratched, and laundered. Higher levels eat capacity; lower levels are fragile.
FAQ
What does PDF417 stand for?
Portable Data File 417. The '417' refers to the structural pattern of every codeword: 4 bars + 4 spaces = 17 modules wide. PDF refers to it being a 'portable data file' — designed to hold an entire document's worth of structured data on a single barcode.
What is PDF417 used for?
Three primary domains. (1) US driver's licenses and state IDs — AAMVA standard requires PDF417 on the back of every state-issued ID. (2) Airline boarding passes — IATA BCBP standard, especially US carriers. (3) Shipping labels — DHL international waybills, FedEx international air, some USPS internal logistics.
Is PDF417 a true 2D barcode?
Technically no — PDF417 is a 'stacked linear' barcode, meaning it's multiple rows of 1D barcodes stacked vertically. True 2D matrix codes (QR Code, Data Matrix, Aztec) have data encoded in both dimensions, allowing them to lose ~30% of their surface and still scan. PDF417 can survive damage to individual rows but is more vulnerable to horizontal cuts across all rows.
How much data does PDF417 hold?
Up to 1,108 bytes of binary data, 1,850 ASCII characters, or 2,725 numeric digits at maximum capacity (90 rows × 30 columns). Typical use cases are much smaller — a driver's license PDF417 holds about 200-400 bytes of personal data; a shipping label holds 500-800 bytes.
Can I scan PDF417 with my phone?
Most modern iPhones and Androids CAN read PDF417 but the native camera app does NOT auto-detect it (unlike QR Code). You need a dedicated scanning app — Scanbot, ScanLife, or any retail-grade barcode reader supports PDF417. The default consumer scanners (iOS Camera, Google Lens) trigger on QR but ignore PDF417 by default.
Related generators
Need a real barcode now?
Generate a valid Code 128 barcode in seconds — no signup, no watermark. Free for casual use; paid plans from $9/mo for higher volume.