ID & Residence Permit OCR SDK

International Identity Verification
OCR SDK supports ID cards and residence permits issued in 250+ countries and territories.
Supports All Types of ID Cards and Residence Permits
Electronic formats, IDs with RFID/NFC chip, passport stickers, and booklet-style residence permits.
Scans ID Cards Compliant with AAMVA Standard
ID Card Scanner SDK supports all 50 US states IDs compliant with AAMVA standard as well as any ICAO/ISO-compliant IDs.
Advanced Barcode Data Extraction
PDF417 scanner SDK and other barcodes scanning — decoding into structured data with 99,9% accuracy.
Extremely On-Premise
Server, desktop, mobile, or web — on-premise OCR SDK ensures strict data locality.
 ID & Residence Permit OCR SDK
iDenfy uses of OCR Studio ID scanning technology
OCR Solutions partners with OCR Studio to provide USA IDs scanning
Minits integrates OCR scanning of national ID cards, passports, and driving licenses of the EU
Smaregi is equipped with OCR Studio technology for MRZ scanning on passports to streamline tax free procedures for foreign citizens in Japan
ZeusTech integrated MRZ scanning by OCR Studio into its hospitality applications
GKD Global partners with AI ID recognition systems developer OCR Studio for automatic documents clearing services

OCR Studio’s ID & Residence Permit OCR SDK is a specialized solution for automated ID scanning, data extraction, and identity verification. It captures and structures document data using OCR and PDF417 scanner SDK, supporting ID cards and residence permits from over 250 countries and territories in 100+ languages.

ID Card Scanner SDK works across mobile, desktop, server, and web environments, enabling flexible integration. It recognizes electronic IDs, performs document authentication through ID verification SDK, conducts face matching and enables reliable age verification. OCR SDK’s broad functionality and wide document coverage helps you to build multi-country KYC workflows.

Versatile ID Card Scanner SDK for All Platforms

Global Reach

OCR SDK is capable of data entry from national ID cards and residence permits of 250+ countries and territories.

Standard and Custom Formats

Recognizes both standard size (ISO/IEC 7810 formats ID-1 and ID-2) and non-standard-sized national ID cards.

ID Card Scanner SDK for Real-World Conditions

Instant recognition robust to glares, blurs, low light, and challenging capture angles.

Dual-Side Recognition

OCR SDK supports recognition of both sides of the ID card and residence permit with data integration.

Optimized Performance

Designed for rapid and accurate ID scanning on both low-end and mid-range smartphones.

Regulation-Ready

GDPR-compliant ID Card Scanner SDK built to meet many other stringent data protection standards.

Enhanced Security

Incorporate authentication and presentation attack detection (PAD) for secure national ID card scanning.

Versatile ID Card Scanner SDK for All Platforms

Any ID Cards and Residence Permits, Fully Covered

ID document scanning
ID cards and residence permits with RFID/NFC chip
ID document scanning
ID cards and residence permits with any security elements
ID document scanning
Horizontal and vertical ID cards and residence permits
ID document scanning
Residence permits issued as booklet-style documents or passport stickers
ID document scanning
Electronic ID cards and residence permits
ID document scanning
ID cards and residence permits with PDF417 and any other barcodes

ID and Residence Permit Scanning with Multi-Script OCR SDK

ID and Residence Permit Scanning with Multi-Script OCR SDK
There are 293 writing systems in the world, yet the Latin script dominates global OCR use cases as it is used by nearly 70% of the world’s population. Many OCR companies claim to support hundreds of languages — but almost all of them are Latin-based. As a result, businesses are missing out on millions of customers with ID cards and residence permits written in non-Latin scripts.
OCR Studio’s multi-script OCR SDK instantly extracts data from IDs written in Arabic, Cyrillic, CJK, Southeast Asian, and many other complex scripts with a large number of character classes and unusual letter connections. The system instantly extracts data from ID cards and residence permits written in Arabic, Cyrillic, CJK, Southeast Asian, and further complex scripts thanks to Arabic ID OCR, Emirates ID OCR, Qatar ID OCR, Saudi national ID OCR, Chinese resident ID OCR, Thai ID card OCR, and other included modules. This makes it possible to build a global multi-country KYC platform for emerging markets and significantly expand the customer base.

On-premise Integration Capabilities

Comprehensive Data Extraction

ID scanner provides data fields recognition confidence scores, coordinates of separate objects, and extracts images of individual data fields.

WebAssembly SDK

Web-based integration for ID document scanner supports all modern browsers, including Chrome, Firefox, Safari, and Edge.

Versatile API Options

Our ID scanning SDK includes both REST API for low-code integration, and native APIs for C++, C#, Java, and Python to maximize efficiency.

Seamless Mobile Integration

Mobile integration is supported both natively and through popular frameworks.

Extensive Usage Examples

ID reader SDK includes usage examples for C++, C#, Java, and Python APIs.

Cross-Platform Support

Native support for Android, iOS, Windows, and Linux operating systems.

Wide CPU Architectures Support

Supports CPU architectures including x86, x86_64, ARMv7, ARMv8, and ARMv9 (AArch32 and AArch64).

Here’s how to scan ID card using our SDK

# 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\": \"are.id.*\"}")
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\": \"are.id.*\"}");
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\": \"are.id.*\"}");
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\": \"are.id.*\"}"));
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();
  }

Example output

birth_date: 15.06.1992
expiry_date: 15.06.2034
gender: M
issue_date: 15.06.2024
name: أحمد سعيد المنصوري
name_eng: AHMED SAEED AL MANSOORI
nationality: الكويت
nationality_eng: KUWAIT
type: RESIDENT IDENTITY CARD

For more information, please visit Developer section

OCR Studio Demo Application

Try our free demo app, which showcases all our technologies

apple store link google play link web app demo link
Demo apps privacy policy
OCR Studio Demo App

Frequently Asked Questions

What is ID & Residence Permit OCR SDK? arrow icon

ID & Residence Permit OCR SDK is a cutting-edge technology for automated ID data extraction and international identity verification. The solution includes multi-script OCR SDK, MRZ scanner SDK, PDF417 scanner SDK, and other modules that allow you to build a full-fledged global KYC platform.

Which types of ID cards and residence permits does OCR SDK support? arrow icon

OCR SDK supports ID cards and residence permits with RFID/NFC chip, machine-readable zone of any format, and with any barcodes, including PDF417 and QR. In total, ID Card Scanner SDK recognizes IDs issued in 250+ countries and territories. The solution scans both standard size (ISO/IEC 7810 formats ID-1 and ID-2) and non-standard-sized national ID cards.

How does OCR SDK protect personal data during ID card and residence permit scanning? arrow icon

ID & Residence Permit OCR SDK reliably protects your customers’ personal data thanks to the SDK’s on-premise / on-device architecture. ID cards and residence permits can be scanned and authenticated directly on the user’s device or within the company’s secure infrastructure with no data transmitted to external services. This helps businesses build secure multi-country KYC workflows compliant with the most stringent data privacy regulations such as GDPR, CCPA, and PIPL.

Can OCR SDK scan ID cards and residence permits offline? arrow icon

Yes. The solution is basically an offline OCR SDK which runs ID scanning entirely on the device’s CPU. ID Card Scanner SDK does not rely on clouds, crowdsourcing platforms, or any other external computing resources. This ensures full control over user privacy and guarantees seamless user experience even when the internet connection is not stable.

How does OCR SDK identify fake ID cards and residence permits? arrow icon

OCR SDK conducts a broad range of anti-fraud checks and precisely validates any security elements present on ID cards and residence permits. The system spots digital image tampering, deepfakes, morphed ID photos, photocopied IDs, screen recapture attempts, and other signs of manipulation. ID Card Scanner SDK also confirms document authenticity through machine-readable zone verification, NFC reading, and cross-checking of ID data.

How does OCR SDK verify data consistency in ID cards and residence permits? arrow icon

OCR SDK verifies ID data consistency by comparing information from the visually inspection and machine-readable zones with the data from a barcode and RFID/NFC chip. Any mismatches are precisely marked as the signs of document manipulation.

Can OCR SDK extract data from ID cards and residence permits captured at challenging angles? arrow icon

Yes. OCR SDK easily extracts data from ID cards and residence permits even at extreme capture angles or low light conditions. Moreover, the system correctly recognizes ID cards with glares and blurs on the document surface. ID Card Scanner SDK does not require high-quality input images and delivers the highest recognition accuracy with a low false acceptance rate.

Where can ID Card Scanner SDK be integrated? arrow icon

The software is distributed as a set of SDK packages, which can be integrated directly inside your mobile application, desktop application, on your web page, or in your server-side infrastructure. OCR SDK runs on Android, iOS, Windows, Linux, and in web browsers through the WebAssembly technology.

Get in Touch With Us Today!

For comprehensive details about our complete
range of solutions and services.

Or contact our sales team:

sales@ocrstudio.ai

    * Required information
    By clicking the “Send request” button, you consent to data processing