AAMVA driver license barcode

The 2D barcode on the back of every US driver license is a PDF417 symbol encoding the licensee's identity fields per the AAMVA Card Design Standard. Originally specified in 2000, currently at version 10 (2020). This is the reference for parser development, kiosk testing, and authorized-issuer workflows.

Canonical spec: AAMVA Card Design Standard v10 (published 2020-09, current through 2026).
Barcode symbology: PDF417 (ISO/IEC 15438).
Prior versions: v8 (2013), v9 (2016), v10 (2020). Most states are on v8 or higher; v10 adoption varies by state.

What it is

An AAMVA barcode is a PDF417 symbol whose decoded payload begins with a fixed header, then one "subfile" per data domain. The core subfile is DL (driver license); commercial licenses add ZA..ZZ jurisdiction-specific subfiles.

Header structure:

@

ANSI <IIN><version><jurisdiction version><subfile count>DL<subfile offset><subfile length>

The first four bytes are compliance indicator (@), data element separator (\x1e), record separator (\x0d), and the literal ANSI. Parsers that miss these bytes reject the code.

Element codes

Each data element is a 3-character code followed by its value, with a newline separator. The most common:

CodeMeaningFormat
DAACustomer name (legacy, pre-v8)LAST,FIRST,MIDDLE
DACFirst nameText
DCSLast nameText
DADMiddle nameText
DBBDate of birthMMDDYYYY
DBALicense expirationMMDDYYYY
DBDLicense issue dateMMDDYYYY
DBCSex (1=male, 2=female, 9=N/A)1 digit
DAQLicense numberAlphanumeric
DAGStreet address line 1Text
DAICityText
DAJState (2-char)Alpha
DAKZIP code5 or 9 digits
DAUHeighte.g. 070 in
DAWWeight (pounds)e.g. 180
DAYEye colour3 letters: BLU / BRO / GRN / GRY / HZL / BLK / MAR / PNK / DIC / UNK
DAZHair colour3 letters: BAL / BLK / BLN / BRO / GRY / RED / SDY / WHI / UNK
DCAVehicle classA / B / C / D / M / Others
DCBRestrictionsAlphanumeric
DCDEndorsementsAlphanumeric
DCFDocument discriminatorJurisdiction-specific
DDEFamily name truncationT / N / U

Issuer Identification Number (IIN)

Every US state has a 6-digit IIN assigned by AAMVA. Examples:

StateIINStateIIN
California636014New York636001
Texas636015Florida636010
Illinois636035Pennsylvania636025
Ohio636023Georgia636055
North Carolina636004Michigan636032

The full jurisdiction IIN table (50 states + DC + Canadian provinces + US territories) lives in the generator's jurisdiction dropdown — scroll through to find any issuer.

Version differences

VersionPublishedKey changes
v82013Added the compliance header (@\x1e\r). Baseline for modern parsers.
v92016Clarified DCF document-discriminator format. Added DDE/DDF/DDG truncation flags.
v102020Added document-image elements; relaxed height units. Most modern DMVs emit v10 headers.

What real licenses have that a printed AAMVA barcode does NOT

This matters for anti-fraud workflows: a PDF417 that parses correctly is not the same as a genuine license. Physical licenses rely on:

Age-verification kiosks that rely on PDF417 parsing alone are routinely spoofed. Production workflows must combine barcode parse + at least one physical feature check.

Canonical test vectors

Use obviously-synthetic data when generating test payloads. JOHN TEST, JANE SAMPLE, DOB in the future or pre-1900 — anything that cannot be mistaken for a real person.

CaseInputsExpected header substring
California v10, syntheticjurisdiction=CA
first=JOHN
last=TEST
license=D1234567
dob=1990-01-01
ANSI 636014100002DL
Texas v10, syntheticjurisdiction=TX
first=JANE
last=SAMPLE
license=12345678
ANSI 636015100002DL
New York v9, syntheticjurisdiction=NY
first=TEST
last=USER
ANSI 636001090002DL

Common pitfalls

Scanner compatibility

ReaderSupportNotes
iOS Camera (iOS 17+)License-awareWallet app recognises AAMVA payloads and can offer to add as an ID card.
Android CameraNot nativeTreats as raw PDF417. License-aware parsing requires an ID-verification app.
Google LensRaw PDF417 onlyDisplays the decoded text without AAMVA parsing.
Commercial ID-verification SDK (IDEMIA, Jumio, Onfido)Full parseIndustry-standard for age-verification kiosks and online KYC.
Industrial PDF417 scanner (Zebra, Honeywell)Full parseMost modern firmware includes AAMVA parsing out of the box.

See also

Spec version verified 2026-04-18 (AAMVA CDS v10, 2020-09). Next review: 2026-07-18.