March 26, 20265 min read

PDF417 — The Barcode on Your Driver's License

PDF417 is the stacked barcode on US and Canadian driver's licenses, shipping labels, and government IDs. Learn how it works, what data it holds, and how it compares to QR.

pdf417 barcode driver license aamva shipping government id stacked barcode
Ad 336x280

Flip your driver's license over. On the back, you will find a wide rectangular barcode that looks nothing like a QR code. That is a PDF417 barcode — and it contains your full name, date of birth, address, license number, restrictions, endorsements, and physical description in a machine-readable format.

PDF417 stands for "Portable Data File, 4 bars and spaces in a pattern 17 units long." Symbol Technologies (now part of Zebra Technologies) invented it in 1991. It became ISO standard 15438.

Why Your License Uses PDF417

The American Association of Motor Vehicle Administrators (AAMVA) chose PDF417 as the mandatory barcode format for driver's licenses and state ID cards across the US and Canada. This has been the standard since the early 2000s, codified in the AAMVA Card Design Standard (CDS).

Every compliant license encodes a structured data file following the AAMVA format. A typical license barcode contains:

  • Full legal name (first, middle, last, suffix)
  • Date of birth
  • Address (street, city, state, ZIP)
  • License number and expiration date
  • Date of issue
  • Sex, height, weight, eye color, hair color
  • Vehicle class and endorsements
  • Restrictions (corrective lenses, etc.)
  • Under-21 and under-18 indicators
That is a lot of data. A typical AAMVA-formatted license barcode carries 400-800 bytes, well within PDF417's maximum capacity of about 1,100 bytes (1.1KB).

How PDF417 Works

PDF417 is a "stacked linear" barcode. Instead of a single row of bars like a UPC code, it stacks multiple rows on top of each other — typically 3 to 90 rows. Each row contains a start pattern, a left row indicator, data codewords, a right row indicator, and a stop pattern.

Think of it as multiple traditional barcodes stacked vertically, with the rows linked by metadata so the scanner reconstructs the full message.

FeaturePDF417QR Code
ShapeRectangular (wide)Square
Data capacity~1,100 bytes~2,953 bytes
Error correctionReed-Solomon (configurable 0-8 levels)Reed-Solomon (4 fixed levels)
DimensionsVariable (stacked rows)Fixed module grid
Read directionHorizontal sweepOmnidirectional
The rectangular shape is both PDF417's advantage and limitation. It works well on surfaces where vertical space is constrained but horizontal space is available — like the back of an ID card or a shipping label.

Beyond Driver's Licenses

PDF417 appears in several other contexts:

Shipping and logistics. FedEx, UPS, and USPS use PDF417 on shipping labels. The Intelligent Mail Package Barcode (IMpb) for USPS is PDF417-based. FedEx Ground labels encode tracking numbers, routing information, and service type in PDF417. Airline bag tags. IATA uses PDF417 (alongside Aztec codes for boarding passes) on checked baggage tags. The barcode encodes the bag tag number and routing information that baggage handling systems read. Government documents. Some countries use PDF417 on passports, military IDs, and tax documents. Brazil's vehicle registration certificate (CRLV) uses it. Colombia's national ID card uses it. Lottery tickets. Many state lotteries in the US print PDF417 on tickets for validation. The barcode encodes the ticket serial number, game type, and draw date.

Scanning PDF417

Here is where it gets frustrating for developers. PDF417 scanning support on consumer phones is inconsistent.

  • iOS: the native camera app does NOT scan PDF417. You need a third-party scanner app or a custom app using Apple's Vision framework.
  • Android: varies by manufacturer. Some camera apps support it, many do not.
This is why PDF417 remains primarily a professional/institutional format. The scanning happens with dedicated hardware — license readers at bars and clubs, shipping label scanners at warehouses, gate readers at airports.

If you have ever been asked to show your ID at a venue and watched the bouncer scan the back of your license with a handheld reader, that reader was decoding the PDF417 barcode and checking your date of birth against the current date. Faster and more reliable than squinting at tiny text under a UV light.

PDF417 vs QR — Which Should You Choose?

For anything consumer-facing where people scan with their phones, QR wins overwhelmingly. There is no contest. QR has universal phone support, omnidirectional scanning, and instant recognition.

PDF417 makes sense when:


  • You need a rectangular barcode (ID cards, labels with specific dimensions)

  • The scanning hardware is controlled (industrial readers, dedicated apps)

  • Regulatory or industry standards require it (AAMVA, IATA bag tags)

  • You are working within an existing PDF417 ecosystem


For business cards, marketing materials, menus, payment links, and virtually every consumer use case, generate a QR code with QRMax instead. Your audience will actually be able to scan it.

Ad 728x90