Standards · AAMVA driver license

What does the barcode on the back of a driver's license say?

Almost every field on the front of the card, plus a few extras. The PDF417 barcode on the back of every US and Canadian driver's license encodes your full name, full address, date of birth, license number, height, weight, eye color, organ-donor flag, veteran flag, REAL ID status, and three different under-age thresholds — all in a single ~500-byte payload that any phone with a PDF417 scanner can read.

Verify your license barcode → All standards →

What's the format

The symbology is PDF417 — a stacked linear barcode defined by ISO/IEC 15438. The data inside follows the AAMVA Card Design Standard (CDS), maintained by the American Association of Motor Vehicle Administrators. Every state and Canadian province issues licenses compliant with the same field schema, so a single decoder works across all of them.

The current spec is AAMVA CDS version 09 (most states are on version 02 or 03 — the version is encoded in the header). The data is plain ASCII; each field is a three-letter "data element identifier" followed by the value, terminated by a line feed.

Every field encoded in the back barcode

Per the AAMVA CDS appendix D.12.5, these are the most common fields on every license:

Identity

  • DAC — first name
  • DAD — middle name
  • DCS — last name
  • DAE — name suffix (Jr / Sr / III)
  • DAF — name prefix (Dr / Mr / Mrs)
  • DBB — date of birth (MMDDYYYY for US, YYYYMMDD for Canada)
  • DBC — sex (1=male, 2=female, 9=unspecified)

Physical description

  • DAY — eye color (3-letter code: BLU, BRO, GRN, HAZ, BLK, GRY)
  • DAZ — hair color
  • DAU — height (e.g. "069 IN" = 5 ft 9 in)
  • DAW — weight in pounds
  • DAX — weight in kilograms (Canadian licenses)

License details

  • DAQ — license / ID number
  • DCF — document discriminator (per-card unique ID, distinct from license number)
  • DCA — license class (A / B / C / D / M for motorcycle, etc.)
  • DCB — restrictions (corrective lenses, daylight-only, etc.)
  • DCD — endorsements (HazMat, passenger, school bus, etc.)
  • DBD — issue date
  • DBA — expiration date
  • DCG — country (USA or CAN)

Address

  • DAG — street address line 1
  • DAH — street address line 2 (apt / suite)
  • DAI — city
  • DAJ — state / jurisdiction
  • DAK — postal code

Special flags

  • DDA — REAL ID compliance (F=full, N=non-compliant)
  • DDK — organ donor (1=yes, 0=no)
  • DDL — veteran (1=yes, 0=no)
  • DDJ — under-21 until (date when holder turns 21)
  • DDI — under-19 until
  • DDH — under-18 until
  • DCL — race / ethnicity (when state issues it)

Issuer metadata

  • Issuer IIN — 6-digit issuer identification number (encodes the state DMV)
  • AAMVA version — schema version number
  • DDB — card revision date
  • DDC — HazMat endorsement expiration

What happens when a bar or club scans your license

Their reader returns all of the above in milliseconds. The app's display may only show the age and a green checkmark — but the underlying scan returned the entire record. What the venue does next depends on their software:

There is no US federal law restricting what bars and clubs can retain from a license scan. State laws vary; some (Texas, New Hampshire) have begun to restrict retention. Most do not.

What our scanner surfaces, and what's masked

Visible by default

First name, middle name, last name, sex, height, eye color, hair color, address, state, country, license class, restrictions, endorsements, issue date, expiration date, organ-donor flag, veteran flag, under-age cutoffs, issuer IIN, AAMVA version, card revision date.

Sensitive (tap-to-reveal)

License / ID number and date of birth are masked behind the same tap-to-reveal component we use for passwords and 2FA secrets. A screenshot of the verdict UI without tapping the reveal button doesn't leak either. The masking is a UX safety net — these are PII fields that often get re-used as out-of-band identity proofs.

Why scan your own license here?

Three reasons people use this:

The privacy posture: the scanner runs in your browser. We only send the decoded text (not the image) to our server for the safety check, so the barcode image itself never leaves your device. Our server log retains nothing PII-shaped — see our privacy page.

Related

Try it on your license

Take a photo of the back of your license (or scan with your phone camera) and drop it on our scanner. Verdict shows every field, masks the license number and DOB, and never sends the image off your device.

Open scanner →