Driver’s licenses: Extract data from PDF417 using a barcode parser

Driver’s licenses with PDF417 codes can be read by a barcode scanner with a built-in data parser to access a variety of useful information. We’ll look at how you can use this technology to speed up and improve processes that require personal identification, age verification, and more.

Kevin July 26, 2022 3 mins read
app store

What data do American and Canadian driver’s licenses contain?

Driver’s licenses are widely used as proof of identity in the United States and Canada. The American Association of Motor Vehicle Administrators (AAMVA) has standardized the design of these documents and the information they contain. This data is also encoded in a PDF417 barcode on the back, which can be read using a barcode scanner. However, an additional step is required to make the raw data human-readable. This is handled by a parser. 

But what information can you actually extract? Here are the mandatory data elements on AAMVA documents. The three letters in front are the data item’s corresponding element ID. 

  1. DCA: Vehicle class(es) the cardholder is allowed to drive
  2. DCB: Restrictions on driving privileges (e.g., only automatic transmission)
  3. DCD: Additional privileges granted to the cardholder (e.g., transportation of hazardous material)
  4. DBA: Expiration date of the document
  5. DCS: Last name
  6. DAC: First name
  7. DAD: Middle name(s)
  8. DBD: Issue date of the document
  9. DBB: Date of birth
  10. DBC: Gender
  11. DAY: Eye color
  12. DAU: Height
  13. DAG: Address: Street name
  14. DAI: Address: City name
  15. DAJ: Address: State name
  16. DAK: Address: Postal code
  17. DAQ: ID number of the cardholder
  18. DCF: ID number of the document
  19. DCG: Country in which the document was issued
  20. DDE: Indicator that the last name is truncated
  21. DDF: Indicator that the first name is truncated
  22. DDG: Indicator that the middle name(s) are truncated

Scanbot SDK:
Unlimited scanning at a fixed price

Your reliable data capture solution for mobile and web app integration.


Supports all common platforms and frameworks.

What is PDF417?

All information above is encoded by a single PDF417 barcode on the back of a driver’s license, which can be read accurately in a single scan. This 2D barcode is actually composed of multiple linear barcodes stacked on top of each other. It has a start pattern (left) and an end pattern (right), with the information itself encoded in the middle section. Due to its high data density and customizable size, PDF417 is one of the most versatile and widely used barcode types.

A data parser can prepare the information encoded by a PDF417 barcode to be easily readable by a human. This makes it easy to quickly find relevant fields such as a customer’s date of birth. If the data is fed into a backend solution, it can be used to automatically populate text fields, e.g., on an application form. This is not only much faster than manual data entry, it also prevents mistakes.

Use a Driver’s License Scanner to automate your workflows

Scanbot’s Barcode Scanner SDK includes a driver’s license scanning feature. With this module, you can easily and reliably extract information from PDF417 barcodes on driver’s licenses. The data is transformed into key-value pairs to improve readability and facilitate backend processing.

Whether you need to verify the age of your customer or record their name and address, a quick scan of their driver’s license saves time and prevents mistakes. 

Security is another consideration: While the text on the document can be tampered with, it is much harder to change the information encoded in the PDF417 code. This means that using the Driver’s License Scanner not only increases efficiency, but also security. It can be integrated into workflows across various industries and make processes like customer onboarding and fleet management seamless and accurate.