Free driving licence OCR

Upload a driving licence or driver's license and extract the name, licence number, class and dates as structured data, free. It reads scans and phone photos from any country or state, with no account needed. It reads what is printed, and it does not verify the licence.

Upload your driving licenceTake a photo or pick a PDF, up to 10 MB
  • Free
  • No sign-up, no card
  • Download as Excel, CSV or JSON

A driving licence is sensitive personal data. Upload your own, or one you have permission to use. We keep the first page and the result for 7 days to run and improve this tool, then delete them. The rest of your file is not stored. Privacy policy

Sample. Every value is invented.

Sampleland Transport Agency

Driving Licence

Full Name
Alex Sample
Licence Number
SAMPL-000000
Date of Birth
1990-01-01
Licence Class
B
Issue Date
2024-01-01
Expiry Date
2034-01-01
{
  "full_name": "Alex Sample",  "license_number": "SAMPL-000000",  "date_of_birth": "1990-01-01",  "license_class": "B"}
  • Any layout, no template

    It works out the fields from the page itself, so there's nothing to set up.

  • Scans and phone photos

    Digital PDFs, scanned pages and photos all go through the same way.

  • Structured, not just text

    Named fields and table rows you can download as Excel, CSV or JSON, not a wall of OCR text.

  • An API when you need it

    The same data from your own code, as the sample call further down shows.

What the free licence extractor reads

  • Holder: full name, date of birth, sex and address.
  • Licence: licence number, class or category, endorsements and restrictions.
  • Dates: issue date and expiry date.
  • Authority: issuing state, province or country, and issuing authority.
  • Physical details where printed: height, eye colour and organ donor mark.

Driving licence names by region

Licences and permits around the world
RegionDocument namesIssued by
PakistanDriving licence, learner permit, international driving permitProvincial traffic police and licensing authorities
IndiaDriving licence (DL), learner's licenceState RTOs
UAE, Saudi ArabiaUAE driving licence, Saudi driving licenceEmirate or national traffic authority
United Kingdom, IrelandPhotocard driving licence, provisional licenceDVLA, DVA, NDLS
United StatesDriver's license, Real ID, commercial driver's license (CDL), learner's permitState DMV
CanadaDriver's licence, enhanced licenceProvincial ministries
European UnionFührerschein, permis de conduire, carnet de conducir, patenteNational authorities
Australia, New ZealandDriver licence, learner or provisional licenceState and national transport agencies

Front and back of a licence

Licence classes, restrictions and sometimes a barcode sit on the back. The free try reads one side: the first page of a PDF, or a single image. Upload the side that holds what you need, or use a free account to read a two-page PDF with both sides in one run.

Who reads licences in bulk

Car rental desks, fleet operators, insurers and ride-hailing teams all key in the same fields from a licence. An account has 35 driving licence fields built in, so those teams can pull the same data from every licence and send it on through the API.

Sample API call

This is how the same driving licence looks from your own code. wf_demo_driver_license is a dummy workflow id and every value below is invented, so the call won't run as written. A real run reads every page and adds a confidence score and page position to each field.

Run a workflow, then read the result
curl -X POST "$DOCREFINERY_API/v1/workflows/wf_demo_driver_license/run" \
  -H "Authorization: Bearer $DOCREFINERY_API_KEY" \
  -F "[email protected]"

# Take trace_id from the answer, then poll until status is "fulfilled"
curl "$DOCREFINERY_API/v1/runway/9f1c0a7e" \
  -H "Authorization: Bearer $DOCREFINERY_API_KEY"
Response (invented values)
{
  "trace_id": "9f1c0a7e",
  "status": "fulfilled",
  "document_type": "driver_license",
  "result": {
    "fields": [
      {
        "key": "full_name",
        "alias": "Full Name",
        "text": "Alex Sample",
        "field_confidence": 0.99,
        "location": { "page": 1, "bbox": [0.08, 0.12, 0.46, 0.14] }
      },
      {
        "key": "license_number",
        "alias": "Licence Number",
        "text": "SAMPL-000000",
        "field_confidence": 0.98,
        "location": { "page": 1, "bbox": [0.08, 0.17, 0.46, 0.19] }
      },
      {
        "key": "date_of_birth",
        "alias": "Date of Birth",
        "text": "1990-01-01",
        "field_confidence": 0.97,
        "location": { "page": 1, "bbox": [0.08, 0.22, 0.46, 0.24] }
      }
    ],
    "extraction_approval": "auto",
    "low_confidence_fields": []
  }
}

Make it run on your own driving licence

  1. Create a free account.
  2. Upload one sample under Workflows, keep the fields you want and save. That gives you a real workflow id.
  3. Create an API key under Settings. Keys are switched on per account, so ask us if you don't see the option.
  4. Set DOCREFINERY_API and DOCREFINERY_API_KEY as in the quickstart, and swap in your id.

Free try or free account?

Free try and free account, compared
FeatureFree tryFree account
Pages readPage 1Every page
Allowance5 tries a day100 pages a month
File sizeUp to 10 MBUp to 100 MB
How it readsFinds the fields on the pageBuilt-in driving licence fields, or your own workflow
CheckingCompare with your pageConfidence scores and page citations
OutputFields on screen, download as Excel, CSV or JSONExcel, CSV and JSON for every page, and API keys on request

Common questions

Can I extract driver's license data for free?

Yes. Upload a clear photo or scan and the name, licence number, class and dates come back as fields. You get 5 free tries a day with no account or card.

Does it work with US driver's licenses from every state?

It isn't tied to a list of states. It reads what's printed on the card, so a licence from any state goes through the same way. Check the number against the card.

Can it read an Indian or Pakistani driving licence?

Yes. Licences from Indian RTOs and Pakistani provincial authorities read the same way, in whatever layout the state or province prints. Older paper booklets are harder, so use a sharp photo.

Does it verify the licence is valid?

No. It reads the expiry date and other details as printed. Whether a licence is currently valid has to be checked with the issuing authority.

Related

Try it on your own driving licence.

Free, with no sign-up and no card.