Skip to main content

Thai Driver License OCR

Mobile & Web SDK available

Skip the camera work — our free open-source eKYC SDK (Web, Flutter, iOS, Android & React Native) auto-captures documents and faces and calls this API for you. View on GitHub.

The Thai Driver License OCR API extracts structured data from photographs of Thai driver licenses: the license number, names and dates in both Thai and English, the license type, and detection of the face photo, flag, and signature. The production service processes a card in 0.3 seconds (median) and sustains 25,000 cards per hour. The response contract has been stable across every upgrade — no field has ever been removed or retyped; see Accuracy.

Live Demo

Upload a Thai driver license, or use the synthetic specimen below.

Try Our AI Demo

Login or create a free account to use this AI service demo and explore our powerful APIs.

Get 100 Free Credits (IC) when you sign up!

Offer ends December 31, 2025

Example Images (Click to try)

Example 1
Try Demo

Try the SDK (Live Camera)

Prefer not to upload a file? The free open-source iApp eKYC Web SDK captures the license automatically from your camera — it detects the card boundary, waits for a sharp stable frame, perspective-corrects the image, and submits it to this API. See more flows on the full SDK live demo page.

Loading live demo…

Quick Start

You need an API key from the API Key Management page. Send the image as multipart/form-data:

curl -X POST https://api.iapp.co.th/v3/store/ekyc/thai-driver-license \
-H "apikey: YOUR_API_KEY" \
-F "file=@driver_license.jpg"
{
"en_license_no": "00000000",
"en_name": "Mr. iApp Technology",
"en_type": "Private Car Driving License",
"en_expiry": "26 March 2024",
"id_no": "1111111111111",
"face": "Detected",
"message": "Success"
}

The full response is in the Technical Reference.

Endpoints and Pricing

EndpointOutputPrice
POST /v3/store/ekyc/thai-driver-licenseJSON with license fields in Thai and English, plus face, flag, and signature detection1.25 IC per page

The legacy path /thai-driver-license-ocr remains supported at the same price. For on-premise deployment, see Data Security.

Performance

Measured on the production service, August 2026.

MetricValue
Median processing time0.3 s per card
Sustained throughput6.9 cards per second (25,000 cards per hour)
Maximum file size6 MB
Supported input formatsJPEG, JPG, PNG, GIF, HEIC, HEIF (iPhone photos)
CoverageFront side only

Accuracy

MetricResult
Character-level accuracy (overall)95.14%
Face detection100%
License number97.37%
Name (English)99.13%
Name (Thai)95.62%

The recognition engine was upgraded in August 2026 and audited field by field against the previous engine on identical license images: agreement across all 25 response fields was 99.65 percent, every adjudicated difference favored the new engine (date formatting and Thai word segmentation, verified against the physical cards), and no field was removed or changed type — existing clients need no modification. The audit method and results are published in the whitepaper:

Download the engine audit whitepaper (PDF)

Data Security and Compliance

  • The service is GDPR and PDPA compliant.
  • Uploaded images are processed in memory and are not retained after the response is returned.
  • A fully self-contained on-premise deployment is available, in which no license data leaves your infrastructure. Contact us for details.

Technical Reference

Request

POST with multipart/form-data and the apikey header.

ParameterRequiredDescription
fileYesThai driver license image (front side)
fieldsNoSet to photo to also return face_photo_base64, the holder's face crop

Response

{
"driving_license_type1": "Detected",
"en_country": "Kingdom of Thailand",
"en_dob": "1 March 1987",
"en_expiry": "26 March 2024",
"en_issue": "18 May 2006",
"en_license_no": "00000000",
"en_name": "Mr. iApp Technology",
"en_type": "Private Car Driving License",
"face": "Detected",
"file_name": "driver_license.jpg",
"flag": "Detected",
"id_no": "1111111111111",
"id_no_checksum_valid": true,
"inference": "0.523",
"message": "Success",
"registrar": "นายทะเบียนจังหวัด กรุงเทพมหานคร Bangkok",
"sign": "Detected",
"status_code": 200,
"text_is_white": "Detected",
"th_country": "ประเทศไทย",
"th_dob": "1 มีนาคม 2530",
"th_expiry": "26 มีนาคม 2567",
"th_issue": "1 มกราคม 2562",
"th_license_no": "000000000",
"th_name": "นาย ไอแอพพ์ เทคโนโลยี",
"th_type": "ใบอนุญาติขับรถยนต์ส่วนบุคคล"
}

Response Fields

FieldTypeDescription
en_country / th_countryStringCountry name (English / Thai)
en_name / th_nameStringFull name (English / Thai)
en_dob / th_dobStringDate of birth (English / Thai)
en_issue / th_issueStringIssue date (English / Thai)
en_expiry / th_expiryStringExpiry date (English / Thai)
en_license_no / th_license_noStringLicense number (English / Thai)
en_type / th_typeStringLicense type (English / Thai)
id_noStringNational ID number
id_no_checksum_validBooleanWhether id_no passes its 13th-digit checksum. Advisory: the request succeeds either way; false on an otherwise good response usually means the image is too low-contrast or small, and it is also false when no ID was found
face_photo_base64StringThe holder's face crop as Base64. Returned only with fields=photo
registrarStringIssuing registrar
face / flag / sign / text_is_whiteStringDetection status of the face photo, flag, signature, and white-text security feature
driving_license_type1 ...StringDetected license class markers
inferenceStringModel inference time (seconds)
message / status_codeString / IntegerResult message and status code

Code Examples

curl -X POST https://api.iapp.co.th/v3/store/ekyc/thai-driver-license \
-H "apikey: YOUR_API_KEY" \
-F "file=@driver_license.jpg"

Response Codes

Status CodeDescription
200Success
415Unsupported file extension
461No file part in the request
462More than one file attached

Limitations

  • Front side only.
  • Files larger than 6 MB are rejected; supported formats are JPEG, JPG, PNG, GIF, HEIC, and HEIF.
  • Check the inference score and message in the response, and validate the license number format on your side.

Changelog

VersionDateChanges
v1.1.3-2026082424 Aug 2026HEIC/HEIF (iPhone) and GIF input support. New advisory field id_no_checksum_valid validating the national ID check digit. Restored face_photo_base64 via fields=photo. Eliminated intermittent errors under concurrent load.
v1.1.2-2026082323 Aug 2026Upgraded recognition engine. Field-by-field audit against the previous engine on identical images: 99.65% agreement across all 25 response fields, with every adjudicated difference favoring the new engine; response contract unchanged. Median processing time 0.3 s per card. Fully self-contained on-premise deployment available.
v1.1Jan 2023Added face photo extraction; character-level accuracy 95.14%.
v1.0Dec 2022Initial release.