OCR Studio’s Passport OCR SDK is an advanced solution for automated passport scanning, data extraction, and identity verification. It captures and structures passport data using OCR and machine-readable zone recognition, supports documents from over 250 countries and territories, recognizes all passport types, including biometric and electronic formats. OCR SDK works across mobile, desktop, server, and web environments, enabling flexible integration. It recognizes visa stickers, performs document authentication through ID verification SDK, conducts face matching and NFC passport reading. OCR SDK’s wide document coverage allows you to build a reliable KYC for emerging markets.
Securely extracts information from any NFC chip compliant with ICAO/ISO standards, including the holder’s personal data and digital photographs.
OCR SDK gives the ability to create an NFC access key using the document’s machine-readable zone and extract data from the RFID chip.
ID verification SDK authenticates documents using advanced image analysis, visible document features analysis, cross-checking of personal data, and validation of both textual and graphical RFID chip data.
ID scanner provides data fields recognition confidence scores, coordinates of separate objects, and extracts images of individual data fields.
Web-based integration for ID document scanner supports all modern browsers, including Chrome, Firefox, Safari, and Edge.
Our ID scanning SDK includes both REST API for low-code integration, and native APIs for C++, C#, Java, and Python to maximize efficiency.
Mobile integration is supported both natively and through popular frameworks.
ID reader SDK includes usage examples for C++, C#, Java, and Python APIs.
Native support for Android, iOS, Windows, and Linux operating systems.
Supports CPU architectures including x86, x86_64, ARMv7, ARMv8, and ARMv9 (AArch32 and AArch64).
# Python
engine_instance = ocrstudiosdk.OCRStudioSDKInstance.CreateFromPath(<PATH_TO_CONFIGURATION_FILE>)
session = engine_instance.CreateSession(<SIGNATURE>,
"{\"session_type\": \"document_recognition\", \"target_group_type\": \"default\", \"target_masks\": \"chn.passport.*\"}")
image = ocrstudiosdk.OCRStudioSDKImage.CreateFromFile(<PATH_TO_IMAGE>)
session.ProcessImage(image)
result = session.CurrentResult()
target = result.TargetByIndex(0)
item_it = target.ItemsBegin('string')
while not item_it.IsEqualTo(target.ItemsEnd('string')):
name = item_it.Item().Name()
value = it.Item().Value()
item_it.Step()
// Java
OCRStudioSDKInstance engine_instance = OCRStudioSDKInstance.CreateFromPath(<PATH_TO_CONFIGURATION_FILE>);
OCRStudioSDKSession session = engine_instance.CreateSession(<SIGNATURE>,
"{\"session_type\": \"document_recognition\", \"target_group_type\": \"default\", \"target_masks\": \"chn.passport.*\"}");
OCRStudioSDKImage image = OCRStudioSDKImage.CreateFromFile(<PATH_TO_IMAGE>);
session.ProcessImage(image);
OCRStudioSDKResult result = session.CurrentResult();
OCRStudioSDKTarget target = result.TargetByIndex(0);
for (OCRStudioSDKItemIterator item_it = target.ItemsBegin("string"); !item_it.IsEqualTo(target.ItemsEnd("string")); item_it.Step()) {
String name = item_it.Item().Name()
String value = item_it.Item().Value()
}
// C#
ocrstudio.OCRStudioSDKInstance engine_instance = ocrstudio.OCRStudioSDKInstance.CreateFromPath(<PATH_TO_CONFIGURATION_FILE>);
ocrstudio.OCRStudioSDKSession session = engine_instance.CreateSession(<SIGNATURE>,
"{\"session_type\": \"document_recognition\", \"target_group_type\": \"default\", \"target_masks\": \"chn.passport.*\"}");
ocrstudio.OCRStudioSDKImage image = ocrstudio.OCRStudioSDKImage.CreateFromFile(<PATH_TO_IMAGE>);
session.ProcessImage(image);
ocrstudio.OCRStudioSDKResult result = session.CurrentResult();
ocrstudio.OCRStudioSDKTarget target = result.TargetByIndex(0);
for (OCRStudioSDKItemIterator item_it = target.ItemsBegin("string"); !item_it.IsEqualTo(target.ItemsEnd("string")); item_it.Step()) {
String name = item_it.Item().Name();
String value = item_it.Item().Value();
}
// C++
std::unique_ptr<ocrstudio::OCRStudioSDKInstance> engine_instance(ocrstudio::OCRStudioSDKInstance::CreateFromPath(<PATH_TO_CONFIGURATION_FILE>));
std::unique_ptr<ocrstudio::OCRStudioSDKSession> session(engine_instance->CreateSession(<SIGNATURE>,
"{\"session_type\": \"document_recognition\", \"target_group_type\": \"default\", \"target_masks\": \"chn.passport.*\"}"));
std::unique_ptr<ocrstudio::OCRStudioSDKImage> image(ocrstudio::OCRStudioSDKImage::CreateFromFile(<PATH_TO_IMAGE>));
session->ProcessImage(*image);
const ocrstudio::OCRStudioSDKResult& result = session->CurrentResult();
const ocrstudio::OCRStudioSDKTarget& target = result.TargetByIndex(0);
for (auto item_it = target.ItemsBegin("string"); item_it != target.ItemsEnd("string"); item_it.Step()) {
string name = item_it.Item().Name();
string value = item_it.Item().Value();
}
authority: 公安部出入境管理局
authority_eng: MPS EXIT & ENTRY ADMINISTRATION
birth_date: 21.05.1986
birth_place: 北京
birth_place_eng: BEIJING
book_number: 2000789730
expiry_date: 14.02.2031
full_mrz: POCHNLIU<<XIAOHUA<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<EF10228097CHN8605216F3102145<<<<<<<<<<<<<<04
gender: F
issue_date: 15.02.2021
issue_place: 北京
issue_place_eng: BEIJING
last_name: 刘
last_name_eng: LIU
mrz_birth_date: 21.05.1986
mrz_cd_birth_date: 6
mrz_cd_composite: 4
mrz_cd_expiry_date: 5
mrz_cd_number: 7
mrz_cd_opt_data_2: 0
mrz_doc_type_code: PO
mrz_expiry_date: 14.02.2031
mrz_gender: F
mrz_issuer: CHN
mrz_last_name: LIU
mrz_line1: POCHNLIU<<XIAOHUA<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
mrz_line2: EF10228097CHN8605216F3102145<<<<<<<<<<<<<<04
mrz_name: XIAOHUA
mrz_nationality: CHN
mrz_number: EF1022809
mrz_opt_data_2:
mrz_status: success
name: 小华
name_eng: XIAOHUA
nationality: 中国
nationality_eng: CHINESE
number: EF1022809
type: P
For more information, please visit Developer section
Passport OCR SDK is an advanced solution for automated passport scanning and authentication. It captures and structures passport data using OCR and machine-readable zone recognition, supports NFC passport reading, and enables fast integration into mobile, desktop, server, and web environments.
OCR SDK supports passports issued in 250+ countries and territories, allowing to create a global KYC platform for international identity verification. The solution scans ordinary, biometric, electronic, diplomatic, temporary, and other passport types, including MRP, MRTD, and eMRTD formats. OCR SDK correctly recognizes passports compliant with both legacy and new-generation ICAO/ISO standards.
Passport OCR SDK enhances regulatory compliance through on-premise / on-device data processing. Passport images and extracted personal data can be processed directly on the user’s device or within the company’s secure infrastructure, helping businesses meet GDPR, CCPA, and local data privacy standards, which is relevant for building KYC for emerging markets.
No. On-premise OCR SDK does not require passport images to be sent to external servers, clouds, or crowdsourcing platforms for processing. The system runs directly on mobile devices, desktops, or company’s servers, ensuring full data locality and reducing privacy and security risks.
ID verification SDK detects forged passports using advanced document forensics technologies. The system spots digital image tampering, deepfakes, morphed passport photos, photocopied IDs, screen recapture attempts, and other signs of manipulation. Passport OCR SDK also validates document authenticity through machine-readable zone verification, NFC passport reading, and cross-checking of passport data.
Passport data cross-validation helps confirm that all document zones contain consistent information. OCR SDK compares data from the visual inspection zone, machine-readable zone, and RFID/NFC chip to detect mismatches that may indicate document manipulation.
Yes. Passport OCR SDK is designed for real-world scanning conditions and can recognize passports with glares and blurs under low light and challenging capture angles. The system also performs preliminary image quality analysis during document capture to maintain high recognition accuracy and a low false acceptance rate.
Passport OCR SDK runs on Android, iOS, Windows, Linux, and in web browsers through the WebAssembly technology. The solution enables precise document processing across all platforms. Developers can integrate it using C++, C#, Java, Python.
For comprehensive details about our complete
range of solutions and services.
Or contact our sales team: