Skip to main content

OCR หนังสือเดินทาง

มี Mobile & Web SDK ให้บริการ

ข้ามขั้นตอนการจัดการกล้อง — eKYC SDK แบบโอเพนซอร์สฟรีของเรา (Web, Flutter, iOS, Android และ React Native) จะจับภาพเอกสารและใบหน้าโดยอัตโนมัติและเรียก API นี้ให้คุณ ดูบน GitHub

Passport OCR API อ่านข้อมูล machine-readable zone (MRZ) ของหนังสือเดินทางตามมาตรฐาน ICAO 9303 ทุกเล่ม และส่งคืนข้อมูลของผู้ถือ — หมายเลขหนังสือเดินทาง ชื่อ วันที่ สัญชาติ — พร้อมรูปถ่ายใบหน้าและชุดค่าสถานะการตรวจสอบความถูกต้อง MRZ ของหนังสือเดินทางสามารถตรวจสอบความถูกต้องได้ในตัวเอง: ทุกฟิลด์สำคัญมีเลขตรวจสอบ (check digit) ของตนเอง และค่าสถานะ valid_* จะรายงานว่าค่าที่ส่งคืนแต่ละค่าสอดคล้องกับเลขตรวจสอบนั้นหรือไม่ ผลการอ่านจึงเชื่อถือได้ด้วยการตรวจสอบทางคณิตศาสตร์ ไม่ใช่ด้วยการคาดเดา บริการ production ตอบกลับภายใน 0.4 วินาที (ค่ามัธยฐาน) และรองรับปริมาณงานต่อเนื่อง 9,500 เล่มต่อชั่วโมง จากชุดทดสอบหนังสือเดินทาง 266 เล่ม ผลการอ่าน 95.5% ส่งคืนหมายเลขหนังสือเดินทาง วันเกิด และวันหมดอายุที่ผ่านการตรวจสอบกับเลขตรวจสอบครบทั้งหมด และ MRZ แยกวิเคราะห์ได้สำเร็จ 100% ดูรายละเอียดที่ ความแม่นยำ

ทดลองเดโม

อัปโหลดรูปหน้าข้อมูลของหนังสือเดินทาง หรือใช้ภาพตัวอย่างด้านล่าง

ทดลองใช้ AI Demo

เข้าสู่ระบบหรือสร้างบัญชีฟรีเพื่อใช้งาน AI Demo และสำรวจ API ที่ทรงพลังของเรา

รับ 50 เครดิตฟรี (IC) เมื่อสมัครสมาชิก!

โปรโมชันหมดเขต 31 ธันวาคม 2568

Example Images (Click to try)

Example 1
Try Demo

ลองใช้ SDK (กล้องสด)

ไม่ต้องการอัปโหลดไฟล์ใช่หรือไม่ iApp eKYC Web SDK แบบโอเพนซอร์สฟรี จะจับภาพหน้าข้อมูลหนังสือเดินทางโดยอัตโนมัติจากกล้องของคุณ — ระบบจะตรวจจับขอบเขตของหน้าเอกสาร รอเฟรมที่คมชัดและนิ่ง ปรับแก้มุมมองของรูปภาพ (perspective correction) และส่งไปยัง API นี้ ดูขั้นตอนเพิ่มเติมได้ที่ หน้าเดโมสด SDK ฉบับเต็ม

Loading live demo…

เริ่มต้นใช้งานอย่างรวดเร็ว

คุณต้องมีคีย์ API จากหน้า การจัดการคีย์ API จากนั้นส่งรูปภาพเป็น multipart/form-data:

curl -X POST https://api.iapp.co.th/v3/store/ekyc/passport \
-H "apikey: YOUR_API_KEY" \
-F "file=@passport.jpg"
{
"number": "AC1062346",
"valid_number": true,
"surname": "POSHNASWADIWONG",
"names": "MATHANIDA",
"date_of_birth": "10/07/93",
"valid_date_of_birth": true,
"expiration_date": "04/03/25",
"valid_expiration_date": true,
"nationality": "THA",
"valid_composite": true
}

valid_number คือฟิลด์ที่ควรใช้ตัดสินใจ: เมื่อมีค่าเป็น false หมายเลขที่ส่งคืนไม่สามารถเป็นหมายเลขของหนังสือเดินทางจริงเล่มใดได้ และควรถ่ายภาพใหม่แทนการเชื่อถือค่าดังกล่าว โครงสร้างการตอบกลับฉบับเต็มอยู่ใน เอกสารอ้างอิงทางเทคนิค

Endpoint และราคา

Endpointผลลัพธ์ราคา
POST /v3/store/ekyc/passportJSON พร้อมข้อมูลผู้ถือ ค่าสถานะการตรวจสอบเลขตรวจสอบ และรูปถ่ายใบหน้า0.75 IC ต่อหน้า

เส้นทางรุ่นเก่า /passport-ocr, /passport-ocr/v2 และ /passport-ocr/v2/ocr ยังคงรองรับในราคาเดียวกันและเข้าถึงบริการเดียวกัน สำหรับการติดตั้งแบบ on-premise ดูที่ ความปลอดภัยของข้อมูล

ประสิทธิภาพ

วัดจากบริการ production เมื่อเดือนสิงหาคม 2026

ตัวชี้วัดค่า
เวลาประมวลผลมัธยฐาน0.4 วินาทีต่อเล่ม
ปริมาณงานต่อเนื่อง4.3 เล่มต่อวินาที (15,000 เล่มต่อชั่วโมง)
รูปแบบไฟล์นำเข้าที่รองรับJPEG, JPG, PNG, WEBP, PDF (หนึ่งผลลัพธ์ต่อหน้า)
ความครอบคลุมหนังสือเดินทางแบบอ่านด้วยเครื่องตามมาตรฐาน ICAO 9303 ทุกเล่ม

ความแม่นยำ

MRZ ของหนังสือเดินทางมีเลขตรวจสอบอยู่ในตัวเอง ความถูกต้องจึงวัดได้ด้วยการคำนวณบนชุดทดสอบหนังสือเดินทาง 266 เล่ม — ไม่ต้องอาศัยการถอดความอ้างอิงและไม่มีการใช้ดุลยพินิจ: ฟิลด์ที่ส่งคืนจะสอดคล้องกับเลขตรวจสอบที่พิมพ์บนหนังสือเดินทางหรือไม่สอดคล้อง เท่านั้น

การวัดv2.0.3
แยกวิเคราะห์ MRZ ได้100%
หมายเลขเอกสารผ่านการตรวจสอบ96.2%
วันเกิดผ่านการตรวจสอบ99.2%
วันหมดอายุผ่านการตรวจสอบ98.1%
หมายเลขประจำตัวผ่านการตรวจสอบ98.5%
หมายเลข วันเกิด และวันหมดอายุผ่านการตรวจสอบครบทั้งหมด95.5%

รุ่นเดือนสิงหาคม 2026 ยกระดับอัตราการอ่านที่ผ่านการตรวจสอบครบทุกฟิลด์จาก 58.6% เป็น 95.5% — หมายเลขเอกสารที่ส่งคืนแต่ไม่ผ่านเลขตรวจสอบของตนย่อมไม่ใช่หมายเลขจริง และผลการอ่านลักษณะนี้ลดลงจาก 30% ของหนังสือเดินทางเหลือต่ำกว่า 4% ตัวชี้วัดนี้ตั้งใจให้เป็นการวัดแบบระมัดระวัง: เลขตรวจสอบเป็นเลขฐานสิบเพียงหนึ่งหลัก ผลการอ่านที่ผิดประมาณหนึ่งในสิบครั้งจึงผ่านการตรวจสอบได้โดยบังเอิญ หมายความว่าความแม่นยำที่แท้จริงต่ำกว่าตัวเลขเหล่านี้เล็กน้อยในทุกรุ่นที่วัดด้วยวิธีนี้ ระเบียบวิธีฉบับเต็ม ผลการวัดส่วนของเอนจินและส่วนของการตรวจสอบความถูกต้องที่วัดแยกจากกัน และคุณสมบัติด้านความปลอดภัยของตรรกะการแก้ไขข้อมูล (repair logic) เผยแพร่ไว้ใน whitepaper:

ดาวน์โหลด whitepaper ผลการทดสอบ (PDF)

ความปลอดภัยของข้อมูลและการปฏิบัติตามข้อกำหนด

  • บริการนี้เป็นไปตามข้อกำหนด GDPR และ PDPA
  • รูปภาพที่อัปโหลดจะถูกประมวลผลในหน่วยความจำและไม่ถูกเก็บรักษาไว้หลังจากส่งการตอบกลับแล้ว
  • มีบริการติดตั้งแบบ on-premise ที่ทำงานได้ในตัวเองอย่างสมบูรณ์ โดยข้อมูลหนังสือเดินทางจะไม่ออกนอกโครงสร้างพื้นฐานของคุณ ติดต่อเรา สำหรับรายละเอียด

เอกสารอ้างอิงทางเทคนิค

คำขอ (Request)

POST ด้วย multipart/form-data และส่วนหัว apikey

พารามิเตอร์จำเป็นคำอธิบาย
fileใช่รูปภาพหนังสือเดินทางหรือ PDF (JPG, JPEG, PNG, WEBP, PDF) ไฟล์ PDF จะส่งคืนหนึ่งรายการต่อหน้า แต่ละรายการประกอบด้วย page และ info
fieldsไม่รายชื่อฟิลด์ที่ต้องการให้ส่งคืน คั่นด้วยเครื่องหมายจุลภาค หากไม่ระบุจะส่งคืนทุกฟิลด์
optionsไม่คั่นด้วยเครื่องหมายจุลภาค segmentation ปรับแก้รูปภาพที่วางแนวผิดอย่างมาก (ช้าลงประมาณ 2 เท่า); no_thresh ข้ามการประมวลผลล่วงหน้าของภาพส่วนตัด MRZ

การตอบกลับ (Response)

200 พร้อม JSON object โครงสร้างชั้นเดียว (flat)

ข้อมูลผู้ถือ

ฟิลด์คำอธิบาย
numberหมายเลขหนังสือเดินทาง
surnameนามสกุล ตามที่พิมพ์ใน MRZ
namesชื่อตัว
date_of_birthDD/MM/YY
expiration_dateDD/MM/YY
sexM, F หรือ < หากไม่ระบุ
nationalityรหัสตาม ISO 3166-1 alpha-3
countryประเทศผู้ออกเอกสาร รหัสตาม ISO 3166-1 alpha-3
personal_numberหมายเลขประจำตัว (ถ้ามี); เว้นว่างในหนังสือเดินทางจำนวนมาก
typeประเภทเอกสารตามที่พิมพ์ใน MRZ (P< สำหรับหนังสือเดินทางทั่วไป)
mrz_typeรูปแบบ MRZ (TD3 สำหรับหนังสือเดินทาง)
faceรูปถ่ายใบหน้า ในรูปแบบ Base64 JPEG

การตรวจสอบความถูกต้อง — แต่ละฟิลด์สอดคล้องกับเลขตรวจสอบของตนหรือไม่ พร้อมเลขตรวจสอบตามที่พิมพ์ไว้

ฟิลด์คำอธิบาย
valid_numberหมายเลขหนังสือเดินทางสอดคล้องกับเลขตรวจสอบของตน
valid_date_of_birthวันเกิดสอดคล้องกับเลขตรวจสอบของตน
valid_expiration_dateวันหมดอายุสอดคล้องกับเลขตรวจสอบของตน
valid_personal_numberหมายเลขประจำตัวสอดคล้องกับเลขตรวจสอบของตน
valid_compositeMRZ ทั้งหมดสอดคล้องกับเลขตรวจสอบรวม (composite check digit)
valid_scoreเปอร์เซ็นต์ของเลขตรวจสอบที่ผ่านการตรวจ (0100)
check_number, check_date_of_birth, check_expiration_date, check_personal_number, check_compositeเลขตรวจสอบตามที่พิมพ์ไว้

การวินิจฉัย

ฟิลด์คำอธิบาย
raw_textข้อความ MRZ สองบรรทัด บรรทัดละ 44 ตัวอักษร
methodวิธีที่ระบบระบุตำแหน่งแถบ MRZ
inferenceเวลาประมวลผลเป็นวินาที
file_name, message, status_codeSuccess / 200 เมื่อประมวลผลสำเร็จตามปกติ

เมื่อไม่พบ MRZ ในภาพ คำขอจะยังคงส่งคืน 200 พร้อมฟิลด์ Error Message; การใช้ options=segmentation มักแก้ปัญหารูปภาพที่วางแนวผิดได้

รหัสการตอบกลับ

รหัสสถานะคำอธิบาย
200สำเร็จ (รวมถึงกรณีไม่พบ MRZ ซึ่งรายงานในเนื้อหาการตอบกลับ)
415ประเภทไฟล์ไม่รองรับ
461ไม่ได้แนบไฟล์
462ฟอร์มคำขอไม่มีคีย์ file

ตัวอย่างโค้ด

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

ข้อจำกัด

  • อ่านเฉพาะ machine-readable zone เท่านั้น ข้อความในส่วน visual zone นอก MRZ จะไม่ถูกดึงออกมา
  • ปีแบบสองหลักใน date_of_birth และ expiration_date เป็นคุณสมบัติของมาตรฐาน MRZ ซึ่งไม่ได้เข้ารหัสศตวรรษไว้
  • ภาพถ่ายที่วางแนวผิดหรือเอียงมากอาจต้องใช้ options=segmentation ซึ่งใช้เวลาประมวลผลประมาณสองเท่า

ประวัติการเปลี่ยนแปลง

เวอร์ชันวันที่การเปลี่ยนแปลง
v2.0.5-2026082525 ส.ค. 2026endpoint สาธารณะให้บริการด้วยบริการหนังสือเดินทางแบบรวมศูนย์แล้ว วันที่ส่งคืนในรูปแบบ DD/MM/YY ซึ่งเป็นรูปแบบที่บริการนี้ส่งคืนให้ผู้ใช้งานมาตั้งแต่ปี 2023 ผู้เรียกที่เคยแยกวิเคราะห์รูปแบบ YYMMDD ชั่วคราวต้องปรับปรุงโค้ด เพิ่มฟิลด์ type, mrz_type, method และ valid_score (เปอร์เซ็นต์ของเลขตรวจสอบที่ผ่านการตรวจ) ปริมาณงานต่อเนื่องเพิ่มเป็น 15,000 เล่มต่อชั่วโมง
v2.0.3-2026082525 ส.ค. 2026อัปเกรดระบบรู้จำและเพิ่มการตรวจสอบความถูกต้องเชิงโครงสร้างของ MRZ อัตราการอ่านที่ผ่านการตรวจสอบเลขตรวจสอบครบทุกฟิลด์ (หมายเลข วันเกิด และวันหมดอายุพร้อมกัน) เพิ่มขึ้นจาก 58.6% เป็น 95.5% บนชุดทดสอบหนังสือเดินทาง 266 เล่ม และ MRZ ทุกรายการแยกวิเคราะห์ได้สำเร็จ เวลาประมวลผลมัธยฐานลดลงจาก 0.26 วินาที เหลือ 0.4 วินาที ฟิลด์ valid_date_of_birth และ valid_expiration_date ที่ระบุไว้ในเอกสารถูกส่งคืนจริงแล้ว มีบริการติดตั้งแบบ on-premise ที่ทำงานได้ในตัวเองอย่างสมบูรณ์
v2.0ก.พ. 2023ดึงข้อมูล MRZ พร้อมรูปภาพใบหน้าและค่าสถานะเลขตรวจสอบ