PDF417
PDF417 is a stacked two-dimensional barcode defined by ISO/IEC 15438. On U.S. and Canadian driver’s licenses it stores a duplicate of the data printed on the front, encoded to the AAMVA DL/ID Card Design Standard. The name describes its structure: every codeword is four bars and four spaces across seventeen modules.
| Full name | Portable Data File 417 |
| Symbology standard | ISO/IEC 15438:2015 |
| ID application standard | AAMVA DL/ID Card Design Standard (v10, 2020) |
| Type | Stacked linear barcode, read as two-dimensional |
| Symbol size | 3 to 90 rows, 1 to 30 columns |
| Codeword structure | 4 bars and 4 spaces across 17 modules, base 929 |
| Maximum capacity | 925 data codewords: roughly 1,033 bytes, 1,726 text characters, or 2,528 digits |
| Error correction | Reed–Solomon, levels 0–8, using 2 to 512 correction codewords |
| Encryption | None — contents are plaintext to any reader |
How it works
A PDF417 symbol is a stack of rows, each one a self-contained linear barcode. Every row opens with a start pattern and a left row indicator, carries one to thirty data codewords, then closes with a right indicator and a stop pattern. Those indicators encode the symbol’s dimensions and error correction level, so a scanner reconstructs the whole from partial reads and need not see the rows in order.
Each codeword occupies seventeen modules split into four bars and four spaces — the source of the “417,” with PDF standing for Portable Data File. Reed–Solomon correction is why the format survives life in a wallet: at higher levels, scratches, creases, and a torn corner all reconstruct from the remaining codewords.
On a driver’s license the payload follows AAMVA’s structure rather than being free-form. It opens with a compliance indicator, the literal string ANSI, a six-digit Issuer Identification Number naming the jurisdiction, and a version number. A subfile designator — DL or ID — introduces the record, and every field inside carries a three-letter code: DCS for family name, DAC for first name, DBB for date of birth.
Why it matters for identity verification
The barcode’s value is redundancy. Because it duplicates what is printed on the front, any mismatch between the payload and the text extracted from the front of the document is a strong tampering signal. Alter a printed date of birth without re-encoding the barcode and the contradiction takes milliseconds to find.
That cross-check is the most useful thing PDF417 offers a verification flow. The barcode itself is not hard to produce; conformant encoders are freely available. What is hard is producing one that agrees with a physical card which also survives its own authenticity checks. Forged licenses fail so often because the two halves were built separately.
PDF417 also travels well. Designed for laser scanners, it decodes reliably from a phone photograph in ordinary indoor light — which is what makes remote onboarding practical at all. That cuts both ways. A photograph of someone else’s license scans exactly as well as one of your own, and the barcode has no way to object.
PDF417 vs QR code
| PDF417 | QR code | |
|---|---|---|
| Structure | Stacked linear rows | True matrix |
| Shape | Wide rectangle, suits a card’s reverse | Square |
| Standard | ISO/IEC 15438 | ISO/IEC 18004 |
| Typical capacity | Around 1,033 bytes | Around 2,953 bytes |
| Orientation | Needs approximate alignment | Omnidirectional via finder patterns |
| Use on ID documents | The AAMVA standard for North American licenses | Rare on licenses; common on boarding passes and vaccination records |
QR holds more data in less space and reads from any angle. PDF417 persists on licenses because the standard predates widespread QR adoption, and North American issuance infrastructure is built around it.
What it can’t do
It is not a security feature. This is the most common misreading of the format. PDF417 is a data container; the AAMVA standard specifies what goes in it, not who may write it. A barcode that scans and parses cleanly proves only that someone followed the specification.
It carries no cryptographic signature. Unlike an ePassport chip, which signs its contents against an issuing authority’s certificate, a PDF417 payload is plaintext with no way to trace it to the issuing DMV. There is nothing to validate against — only internal consistency to check.
It cannot detect a copy. The barcode reproduces perfectly through a photograph, a photocopy, or a screen. Nothing changes between the original card and an image of it, so it contributes nothing to whether a physical document was present — the question that matters most remotely.
It is frozen at printing. The encoded address, name, and restrictions describe the holder on the day of issue. A valid license may carry a barcode years out of date, and a mismatch against current records is at least as likely to mean the holder moved as that the card is forged.
Frequently asked questions
What data is stored in a driver’s license PDF417 barcode?
The same data printed on the front: name, date of birth, address, license number, issue and expiry dates, physical descriptors such as height and eye color, and any restrictions or endorsements. AAMVA defines which fields are mandatory per jurisdiction.
Is the PDF417 barcode on a driver’s license encrypted?
No. The contents are plaintext and any conformant scanner reads them. That is deliberate — the barcode exists so police, retailers, and agencies can read a license quickly without proprietary equipment.
Can a PDF417 barcode be faked?
Yes, trivially, in isolation. Encoding arbitrary data to AAMVA’s structure requires no special access. The difficulty is producing one consistent with a physical card that also passes the document’s own authenticity checks.
Why do U.S. licenses use PDF417 instead of QR codes?
AAMVA standardized on PDF417 before QR was widely deployed, and its rectangular shape suits the back of a card better than a square. Changing now would require every jurisdiction and every reader in the field to migrate at once.
Related reading
- Breaking down the most common ID barcode — a longer walkthrough of PDF417 in practice
- Machine-readable zone — the equivalent cross-check on passports
- Barcode scanning — how symbols are located and decoded from an image
- Document capture — getting an image good enough to decode in the first place