An iOS library for scanning passport MRZ codes to extract personal data like name, passport number, and dates.
PassportScanner is an iOS library that enables apps to scan the Machine Readable Zone (MRZ) of passports and identity documents using the device's camera. It extracts structured personal data like name, passport number, nationality, and dates, solving the need for manual data entry in identity verification workflows. The library supports both TD1 and TD3 MRZ formats and includes image optimization to improve scanning accuracy.
iOS developers building apps that require identity document scanning, such as travel, banking, or verification applications. It's particularly useful for those needing to automate passport data extraction without relying on external APIs.
Developers choose PassportScanner because it provides a ready-to-use, open-source solution for MRZ scanning with no external dependencies, integrates easily via CocoaPods, and includes image preprocessing to handle varying lighting conditions for reliable OCR results.
Scan the MRZ code of a passport and extract the firstname, lastname, passport number, nationality, date of birth, expiration date and personal numer.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Includes a pre-built view controller and storyboard for easy embedding, as shown in the sample code, reducing development time for iOS apps.
Applies exposure filters dynamically to handle varying lighting, improving OCR accuracy in different environments, per the README's optimization focus.
Supports TD1 and TD3 MRZ formats, covering most international passports and identity documents with 2 or 3 lines.
All OCR is done on-device using Tesseract, ensuring data privacy and offline functionality without external API dependencies.
Relies on TesseractOCRiOS and GPUImage, which are no longer actively maintained, potentially causing compatibility issues with newer iOS versions.
Requires CocoaPods installation, manual copying of the tessdata folder, and storyboard integration, making it cumbersome for quick prototyping.
Only extracts data from the Machine Readable Zone, so it cannot scan other document parts like photos or additional text fields.