Build a synthetic AAMVA PDF417 barcode and download a card image to test a driver license scanner
Generatingβ¦
Upload the downloaded PNG to the online driver license scanner β it reads the PDF417 barcode and returns the fields encoded here.
Control characters are shown as \n (data element separator),
\r (segment terminator) and \x1e (record separator).
The first 21 characters are the AAMVA header; the next 10 are the subfile
designator (type + offset + length).
This generator covers every jurisdiction AAMVA assigns an Issuer
Identification Number to: 50 US states, the District of Columbia,
5 US territories, 13 Canadian provinces and territories, and 2 Mexican states β
71 jurisdictions in total. All of them use the AAMVA PDF417
format, so the scanner parses them with the AAMVA_DL_ID code spec.
Driver licenses from other countries (EU/EEA, UK, Australia, India, Japan, Brazil, β¦)
are not AAMVA documents. They use national or regional formats that the AAMVA
parser does not map, so a scanner restricted to AAMVA_DL_ID will read the
barcode but not resolve the fields.
South Africa is a different case, and it cannot be generated at all.
The PDF417 on the back of a South African driving licence is not plaintext. Its 720 bytes
open with a 4-byte version header, then split into six blocks (5 Γ 128 bytes + 1 Γ 74 bytes)
that are RSA-encrypted with a private key held by the issuing authority;
a reader reverses it with the published public key. Anyone can decode a genuine card,
nobody can mint one without that private key β the encryption is precisely the anti-forgery
mechanism. Dynamsoft's SOUTH_AFRICA_DL spec implements that decryption step,
which is why it needs a real card as input rather than a crafted one.
That contrast is the useful takeaway for testing: an AAMVA barcode is plaintext, so a parseable one proves nothing about authenticity β it only proves the payload is well-formed. The South African format is signed, so a parseable one does prove origin. Neither replaces a document check.
Licence-number patterns, addresses and vehicle classes are plausible samples rather than an authoritative per-jurisdiction specification. The purpose of this page is to exercise a scanner end to end, not to reproduce any particular issuing authority's output.