Aamva Drivers License Barcode


I am trying to generate US DL barcode. I've tried to read the original barcode with barcode parser, convert it to ASCII string, and re-generate a new PDF417 barcode with that string.

What is AAMVA?

The American Association of Motor Vehicle Administrators (AAMVA), founded in 1933, is a nonprofit, educational organization striving to develop model programs in motor vehicle administration, police traffic services, and highway safety.

In the area of motor vehicle administration, one of AAMVA’s key initiatives has been the standardization of driver’s licenses and official personal identification cards. Initially AAMVA’s role was to aid in the identification of individuals that were granted “the privilege to drive”; that is, the driver’s license. /unreal-engine-4-download-for-android/. Over the decades though, higher demands were placed on the simple driver’s license that required better security and more consistent information content.

Today, through AAMVA’s efforts and standards, driver’s licenses and personal ID cards can be used across jurisdictions ubiquitously for a number of key applications:

  • Evidence of the privilege to drive;
  • Personal identification;
  • Age verification;
  • Address/residence verification;
  • Automated administrative processing.

Over the past years, security and restrictions regarding various forms of government-issued personal identification documents have become increasingly tighter. In an effort to regulate the process in the United States, create more accurate data entry results, encourage greater uniformity across jurisdictions, and cut down on overall operating costs, the AAMVA implemented the inclusion of machine-readable technologies including magenetic stripes and barcodes on driver’s licenses and state-issued identification cards.

The AAMVA DL/ID Card Design Standard (CDS) provides a standard for the design of driver licenses (DL) and identification (ID) cards issued by AAMVA member jurisdictions. This comprehensive standard addresses everything from dimensions, layout, security mechanisms, machine readable technologies, and precise requirements for information content and its representation.

A crucial component of the CDS defines how a PDF417 barcode is used to represent a wealth of driver information. However, the data in the barcode is compacted and encoded using data identifiers, variable lengths, optional fields, and binary separators. The process of reading one of these barcodes, then deciphering its contents can be onerous and error prone.

How is AAMVA used?

Hqrp tv remote manual. Supporting the latest CDS specification from the AAMVA, the Barcode Scanner Parser Plugin makes it simple for developers to parse barcode data into a structured format (JSON, Key-Value). Far more convenient than custom parsing methods which compel a developer to search through a multitude of bytes for pertinent data, the AAMVA parser plugin delivers effortlessly names, numbers and age verification, among others, as specified in the CDS.

Manatee Works is invested in providing developers with the tools they need to expedite projects and more effectively manage overall workflow. “Long hand,” coding practices, such as data parsing, consumes an inordinate amount of a developer's time and can introduce defects into an application. Integrating the Parser Plugin automates sorting, validating, and parsing the type of information necessary to allow the rest of application operations to flow smoothly and efficiently.

Easily decode and parse information from the PDF417 barcode now utilized by nearly all 50 states.

[email protected]
Mobile apps need to be increasingly more engaging to succeed. Manatee Works can help. Our mobile barcode scanner SDK is available on all major mobile development platforms.

DL/ID Parsing Library

DL/ID cards are widely used for storing personal information such as first name, last name, birth date, address, etc. They also contain special information related to driving activity including DL number, class and restrictions. Because of the utility of this data, there is a high demand for mobile applications that can scan and process DL/ID information.

Magnetic Stripe and 2D formats greatly vary from one state to another, causing numerous difficulties when attempting to parse information encoded in each DL. For instance, some cards may contain tracks in the inverted order, while others may use slightly shifted track positions for storing fields.

As a solution, IDScan.net developed a DL/ID Parsing library for multiple development environments. The whole list can be found on our download page. We collected 10+ years of ID formats from the US, Canada, and many other countries and tested each one to ensure every DL/ID card is parsed with precision.

Implementation Instructions Using Microsoft Visual Studio

for .NET languages

  1. Download dlplib from the link below and extract files.
  2. With your project open, go to Project -> Add Reference and browse path to dlplib.dll.

Example projects can found below or on our SDK downloads here.

.NET ID Parsing Library – Download

C# Example Project for SDK Lite (Hardware ID and Registration Key) – Download

VB.NET Example Project for SDK Lite (Hardware ID and Registration Key) – Download

DriverLicense Class

Object that enables access to parsed information from an ID.

Aamva Driver's License Barcode Breakdown


DriverLicense()Initializes an instance of the DriverLicense class
Field NameDescription
FullNameFull name of cardholder
Address1First line of address of cardholder
Address2Second line of address of cardholder
CityCity of cardholder address
JurisdictionCodeState of cardholder address
CountryCountry of cardholder
Postal code of cardholder address, if unknown, zeroes will be used
BirthDateBirth date of cardholder
GenderGender of cardholder
HeightHeight of cardholder, followed by “in” or “cm”
ExpirationDateDate on which the driving and identification privileges granted by the document are no longer valid (MMDDCCYY for U.S.)
EyeColorColor of cardholder’s eyes, as defined in ANSI D-20 codes
LicenseNumberLicense number of cardholder
DocumentTypeCan be a driver’s license or ID
ID – Identity Card
DL – Driver License
CC – Bank Card
HC – Health Card
TD – Machine Readable Travel Document
CAC – Department of Defense and Common Access Card
HairColorHair color of cardholder. Brown, black, blonde, gray, red/auburn, sandy, white
Issuer Identification Number – the full 6-digit IIN should be encoded
IssueDateIssue date of DL/ID
NamePrefixNamePrefix of cardholder
NameSuffixNameSuffix of cardholder
RaceRace or ethnicity of cardholder as defined in ANSI D20
SpecificationStandard of scanned document
WeightKGPhysical weight or weight range in KG.
up to 31
32 – 45
46 – 59
WeightLBSPhysical weight or weight range in pounds.
up to 70
71 – 100
101 – 130
ComputerIDHardware ID
ClassificationCodeDriver License classification code as defined by Federal Highway regulations and by AAMVA; others are defined by DL Classification Code Standards
RestrictionCodeDriver License restriction code that curtail driving privileges
VehicleClassCodeJurisdiction-specific vehicle class / group code, designating the type of vehicle the cardholder has privilege to drive
EndorsementsCodeAny endorsements on a driver license which authorize the operation of specified types of vehicles or the operation of vehicles carrying specified loads. Endorsements shall be specific to classification of a driver license

Aamva Drivers License Barcode

Method NameDescriptionReturn Value
Parses scanned text of IDReturns a DriverLicense object on success and null on error
Extracts information from scanned driver’s license or ID. This is a deprecated method, should be utilized only in such cases when a static call cannot be used
Returns true on success and false on error

DriverLicenseEx Class

This class is similar to DriverLicense but also provides support for data types such as date, boolean, string, etc and does not contain an ExtractInfo() method.

Aamva Driver's License Barcode

DriverLicenseEx()Initializes an instance of the DriverLicenseEx class


Aamva Barcode Generator Pdf417 Drivers License

Method NameDescriptionReturn Value
Parses scanned text of ID.Returns a DriverLicense object on success and null on error