Docyield's driver license scanner takes a photo or scan of a driving licence and hands back the printed details as structured data. The holder's name, licence number, date of birth, address, issue and expiry dates, vehicle class, and the issuing state or authority all arrive as JSON, CSV, Excel, or XML, so you can record or import them without keying anything by hand.
Licences are small, dense, and wildly inconsistent from one place to the next. Every state and country arranges the front of the card differently, abbreviates fields in its own way, and crams the print into a tight space alongside a photo and a hologram. Docyield reads the card the way a person would — recognising what a licence number is and where the expiry date usually sits — rather than relying on a fixed grid that only fits one design.
What a driver license scanner pulls out
The front of a licence carries the facts you usually need: who the holder is, the licence number that identifies them, their date of birth, the address on file, when the card was issued and when it expires, and the classes of vehicle they are entitled to drive. The issuing state or authority is printed too, often as a small code or seal. The scanner captures each of these and labels it, so the licence number never lands in the address field and the issue date is never swapped with the expiry date.
Because a licence is an identity document, Docyield returns each value exactly as printed on the card. It transcribes the address as written, keeps the vehicle-class codes in their original form, and does not reformat dates or expand abbreviations on your behalf — what you get back matches what is on the card.
Why structured fields beat plain OCR
Raw OCR over a licence produces a run of text where the holder's name, a string of numbers, an address, and a cluster of date codes all blur together with no labels. You then have to work out which number is the licence number and which of several dates is the expiry — and licences love to abbreviate, so the clues are thin.
Structured extraction does that interpretation for you. The licence number, the expiry date, and the vehicle class each come back in their own field with a consistent name, so a spreadsheet or an application can rely on those names instead of parsing free text. That stability is what makes the output safe to import in volume rather than something you still have to clean up row by row.
Handling different states and countries
There is no single licence layout. A US state licence, a UK photocard, and an EU driving permit all differ in which fields appear, how they are labelled, and where they sit on the card. Vehicle classes alone range from single letters to multi-character codes with their own local meanings.
Rather than maintaining a template for every jurisdiction, Docyield reads each card in context, so a layout it has not encountered before still produces sensible, labelled fields. The issuing authority is captured as its own value, which makes it easy to tell at a glance which scheme a given record came from when you are processing licences from several places at once.
Endorsements, restrictions, and class codes deserve a particular note. A licence might list several entitlements, sometimes as a column of codes and sometimes as a short line of text. Docyield returns the vehicle class as printed rather than trying to expand each code into a description, so you keep the original notation and can apply your own lookup table if you need plain-language meanings.
Who uses a driver license scanner
- Car rental and vehicle-hire desks recording renter details and entitlements at pickup.
- Dealerships and test-drive bookings capturing a driver's licence before handing over keys.
- Gig-economy and fleet platforms onboarding drivers and logging their licence class and expiry.
- Age-verification and access workflows that need the date of birth read from the card.
- Developers adding a licence-capture step to an app through a single API call.
Accuracy, limitations, and review
No scanner reads every licence flawlessly, and pretending otherwise would not help you. Holograms and reflective overlays sit directly on top of the print, glare from the laminate can wash out a field, and a photo taken at an angle distorts the text. A flat, evenly lit, in-focus image of the front of the card gives the cleanest read, and recapturing a poor photo beats trying to salvage one.
Where a field is missing or unreadable, Docyield leaves it empty rather than guessing, because a wrong licence number or expiry date is far more costly than a blank. Since this is identity data, keep a person in the loop: review the extracted fields against the card itself, especially the licence number and the dates. Docyield reports what is printed and does not judge whether a licence is genuine, valid, or current.
Privacy and sensitive data
A driving licence is personal data, and it deserves careful handling. Docyield uses uploaded files only to produce your result; they are not used to train models. The fields come back exactly as printed, with no enrichment or lookups against external records, so nothing is added that was not already on the card.
For workflows where this matters, the address and date of birth are returned as discrete fields, which makes it straightforward to keep, mask, or drop them according to your own data-handling rules once the extraction is done. Docyield does not provide legal or compliance advice — how you store and use the data is yours to decide.
Output formats and the API
Each scan can be exported as JSON, CSV, Excel, or XML from the same result. Developers tend to take the JSON; teams building a register of drivers or renters tend to take CSV or Excel; older systems take the XML. The free tool reads one card at a time, which suits most one-off captures.
When you need to process licences at scale, the Docyield API and batch dashboard return the same schema shown here, so you can run many cards, receive results by webhook, and apply your own validation rules. The field names stay identical whether you use the free tool or a paid plan.
What the driver license scanner extracts
Each licence is returned against a fixed schema, with values transcribed exactly as printed. Fields that are absent or unreadable come back empty rather than guessed.
- Document type
- The kind of document, typically Driver License.
- License number
- The licence number that identifies the holder.
- Full name
- The holder's full name as printed on the card.
- Date of birth
- The holder's date of birth.
- Address
- The address printed on the licence.
- Issue date
- The date the licence was issued.
- Expiry date
- The date the licence expires.
- Vehicle class
- The class or category of vehicle the holder may drive.
- Issuing authority
- The state or authority that issued the licence.
How to scan a driver license into structured data
- 1Upload the licence — drop a PDF, PNG, JPG, or WEBP onto the box above, or click to choose a file.
- 2Use a flat, evenly lit, in-focus shot of the front of the card so the holograms do not wash out the print.
- 3Wait a moment while Docyield reads the card and extracts the fields.
- 4Review the result against the licence, checking the number and the dates in particular.
- 5Choose your output tab — JSON, CSV, Excel, or XML — then copy or download the data.
Frequently asked questions
Processing documents at scale?
Batch upload, an extraction API, and webhooks for 100+ documents a month.
