Introducing DocScan for iPhone and iPad

The PixLab Mobile-Hub Team is pleased to announce the release of DocScan, PixLab’s all-in-one mobile document scanner for iPhone and iPad.

docscan ios

DocScan for iOS is built for people who need more than a basic camera capture. It helps you scan, read, structure, search, and reuse real-world documents directly from your mobile device. Whether you're working with handwritten notes, receipts, invoices, ID cards, menus, signs, or multi-page documents, DocScan for iOS turns raw scans into useful, structured output.

Download DocScan on the App Store

Scan, read, and use your documents faster

Most scanner apps stop after taking a picture. DocScan app goes further by understanding document content and helping you turn it into something actionable.

With DocScan for iOS, you can:

  • Scan handwritten notes and turn them into searchable text
  • Extract structured data from receipts and invoices
  • Capture and enhance ID documents with dedicated scanning tools
  • Use built-in document chat to ask questions about scanned pages
  • Export results to PDF, Markdown, JSON, and CSV
  • Build multi-page documents for archiving, sharing, or downstream workflows

Key features

Two-pass recognition

DocScan uses a two-pass recognition workflow. On-device OCR runs first for speed, then a cloud pass powered by DOCSCAN API improves difficult text when needed. This helps the app handle everything from rushed handwriting to noisy thermal receipts with better reliability.

Built-in document chat

Instead of reading through long pages manually, you can ask questions about what you scanned. Need a summary, a total amount, an expiration date, or a key detail from a contract or receipt? DocScan for iOS helps you get answers faster.

Handwriting scanning

DocScan for iOS is built to handle handwriting that basic OCR often misses, including cursive, shorthand, mixed scripts, and rushed writing. It is especially useful for notes, study material, research pages, and brainstorming sketches.

Receipt and invoice extraction

Thermal receipts and invoices rarely follow one format. DocScan for iOS extracts useful fields like vendor name, dates, totals, taxes, and line items so your scans are ready for accounting, reporting, or automation.

ID document capture

Passports, driver’s licenses, insurance cards, and other important documents need more than a simple photo. DocScan for iOS includes dedicated capture tools with glare reduction, edge detection, contrast tuning, and structured field extraction for cleaner results.

Signs, menus, and everyday document scanning

DocScan for iOS also works well on the go. Scan signs, notices, flyers, menus, and business cards, then search, translate, copy, or save the extracted content.

Flexible export formats

Scanned content should not stay trapped inside an app. DocScan supports export to:

  • PDF
  • Markdown
  • JSON
  • CSV

This makes it easier to archive scans, send them to teammates, move them into spreadsheets, or plug them into internal tools and automated workflows.

Built for real-world use

The DocScan mobile app is designed for people who work with documents every day, including:

  • Students and researchers digitizing handwritten notes and study material
  • Freelancers and small businesses capturing receipts, invoices, and contracts
  • Travelers saving IDs and reading signs or menus abroad
  • Developers and integrators building scanning and OCR into their own apps

Powered by the PixLab DOCSCAN API

One of the most important things about DocScan for iOS is that its scanning capabilities are powered by the PixLab DOCSCAN API.

That means the same engine behind the mobile app is also available to developers who want to add production-ready document scanning, OCR, KYC extraction, receipt ingestion, and structured document workflows to their own products.

If you’re building your own app, service, or internal platform, you can start integrating the same API that powers DocScan for iOS:

Available now

DocScan for iOS is now available on the App Store for iPhone and iPad.

  • Homepage: https://pixlab.io/mobile-apps/docscan-app
  • App Store: https://apps.apple.com/us/app/docscan-all-in-one-scanner/id6758423983

We built DocScan for iOS to make mobile document work faster, more intelligent, and more useful from the moment you capture a page. We’re excited to see how users and developers put it to work.

PixLab’s Document Scanner now able to scan Driving License issued by any U.S. state

The PixLab Optical Character Recognition team is thrilled to announce that its document scanning API endpoint /DOCSCAN, is now able to scan U.S. Driver’s licenses and driving permits issued by jurisdictions from all the 50 U.S. states.

DOCSCAN API endpoint now supports scanning US driver’s license from all 5O states

The /DOCSCAN API endpoint now allows any Website that is presented with a U.S Driver’s License, International Passport or ID Card to verify that the inputted information by the end user matches those present on the submitted or uploaded ID document image.

Usage & Code Samples

Given an input U.S driver’s license image issued by any of the 50 U.S. states, crop the license holder face, and extract fields of interest as follow:

Input U.S driver’s license image Car Vectors by Vecteezy Input U.S driver’s license image

Extracted Fields Showcase extracted fields from the submitted driver's image

The extracted fields after successful call to the /DOCSCAN API endpoint are:

  • License holder cropped face. This image will be stored on an AWS S3 bucket of your choice if you connect your target bucket from the PixLab Console.
  • Issuing Country (USA obviously).
  • Issuing State Name.
  • Issuing State Two-Letter Code.
  • License Number.
  • License Holder’s Full Name.
  • License Holder’s Address.
  • License Holder’s Date of Birth (yyyy-mm-dd).
  • License Issuing Date (yyyy-mm-dd).
  • License Expiry Date (yyyy-mm-dd).
  • License Holder’s Gender.

The code samples that is used to achieve such results are available via the following Gists:

Algorithms Under the hood

  • Face extraction is automatically performed using the /FACEDETECT API endpoint.
  • /DOCSCAN already supports GET & POST HTTP methods so you can upload your document images directly from your application without relying on a foreign server. Refer to this Gist on how to do so.
  • Upon the image processed on our server, it is automatically deleted. We do not keep trace or any log of your input images.
  • Internally, we mainly rely on PP-OCR which is a practical ultra-lightweight OCR system that is mainly composed of three parts: Text Detection, Bounding Box Isolation, & Text Recognition. This combination produces highly accurate results in less than 5 seconds of processing.

Further Reading

  • The official endpoint documentation is available to consult here, and the reader is more than encouraged to take a look at our production ready, code samples, available in various programming languages on the PixLab Code Samples Page.

Modern Passport Structure & Bulk Scan APIs

A Passport is a document that almost everyone has at some point in their lives. It is issued by the country’s government to its citizens and mainly being used for traveling purposes. It also serves as proof of nationality, name, and more importantly an Universally Unique ID for its owner.

Modern Passport Structure

Passport Specimen

Many services have been long-time accepting passports as identification documents from their customers to complete their KYC (Know Your Customer) form as required by the legislation in force. This is especially true and enforced for the Finance, HR or Travel sectors. In most cases, a human operator will verify the authenticity of the submitted document and grant validation or reject it.

Things can get really complicated if you have hundreds of KYC forms to checks, but also if your clients differ in nationality. Quickly, you will find yourself drowning in physical copies of passports in different languages that you can not even understand. Let alone the potential legal problems you can face with passport copies laying around the office. This is why, an automated & safe solution for Passports processing is required!

Modern Passport Structure

From the 1980s on wards, most countries started issuing passports containing an MRZ. MRZ stands for the Machine Readable Zone and is usually located at the bottom of the Passport as shown below:

Modern Passport Specimen

Passports MRZ Sample

Passports that contain an MRZ are referred to as MRPs, machine-readable passports (Almost all modern issued Passports have one). The structure of the MRZ is standardized by the ICAO Document 9303 and the International Electro-technical Commission as ISO/IEC 7501-1.

The MRZ is an area on the document that can easily be read by a machine using an OCR Reader Application or API. It’s not important for you to understand how it works, but if you look at it carefully, you will see that it contains most of the relevant information on the document, combined with additional characters and a checksum that can be extracted programmatically and automatically via API as we will see in the next section.

Once parsed, the following information are automatically extracted from the target MRZ and made immediately available to your app, thanks to the /docscan API endpoint:

  • issuingCountry: The issuing country or organization, encoded in three characters.
  • fullName: Passport holder full name. The name is entirely upper case.
  • documentNumber: This is the passport number, as assigned by the issuing country. Each country is free to assign numbers using any system it likes.
  • checkDigit: Check digits are calculated based on the previous field. Thus, the first check digit is based on the passport number, the next is based on the date of birth, the next on the expiration date, and the next on the personal number. The check digit is calculated using this algorithm.
  • nationality: The issuing country or organization, encoded in three characters.
  • dateOfBirth: The date of the passport holder's birth in YYMMDD form. Year is truncated to the least significant two digits. Single digit months or days are perpended with 0.
  • sex: Sex of the passport holder, M for males, F for females, and < for non-specified.
  • dateOfExpiry: The date the passport expires in YYMMDD form. Year is truncated to the least significant two digits. Single digit months or days are perpended with 0.
  • personalNumber: This field is optional and can be used for any purpose that the issuing country desires.
  • finalcheckDigit: This is a check digit for positions 1 to 10, 14 to 20, and 22 to 43 on the second line of the MRZ. Thus, the nationality and sex are not included in the check. The check digit is calculated using this algorithm.

Automatic Passport Processing

PixLab Logo

Fortunately for the developer wishing to automate Passports scanning, PixLab can automatically scan & extract passport MRZ but also help to detect possible fraudulent documents. This is made possible thanks to the /docscan API endpoint which let you in a single call scan government issued documents such as Passports, Visas or ID Cards from various countries.

Besides extracting MRZ, the /docscan API endpoint shall automatically crop any detected face and transform binary Machine Readable Zone into stream of text content (i.e. full name, issuing country, document number, date of expiry, etc.) ready to be consumed by your app in the JSON format.

Below, a typical output result of the /docscan endpoint for a passport input image:

Input Passport Specimen (JPEG/PNG/BMP Image)

Input Image URL

Extracted MRZ Fields

MRZ Fields

What follow is the gist used to achieve such result:

Other document scanning code samples are available to consult via the following Github links:

Face extraction is automatically performed using the /facedetect API endpoint. For a general purpose Optical Character Recognition engine, you should rely on the /OCR API endpoint instead. If you are dealing with PDF documents, you can convert them at first to raw images via the /pdftoimg endpoint.

Conclusion

The era we are in is more digitized than ever. Tasks that are repetitive are slowly being replaced by computers and robots. In many cases, they can perform these tasks faster, with a smaller amount of mistakes and in a more cost-effective manner. At PixLab we focus on building software to replace manual repetitive labor in administrative business processes. The processing and checking of passports can be very time-consuming. Using /docscan to automate your passport processing will enable you to save cost, on-board customers faster and reduce errors in administrative processes.

Full Scan Support for Malaysia and Singapore ID Cards

The PixLab OCR team is pleased to announce that it fully support now scanning ID cards from Malaysia (MyKad), Singapore, India Aadhaar, Emirates (UAE) ID & GCC Residence Card, US Driver's License, as well governments issued Passports from all over the world via the /DOCSCAN API endpoint.

Besides its robust text scanning features, the /docscan API endpoint shall Extract (crop) any detected face and transform the extracted text content such as ID card fields (name, ID number, address, etc.) or Passport Machine Readable Zone (MRZ) into JSON object fields ready to be consumed by your code.

Below, a typical output result of the /docscan endpoint for an ID card input image:

Input ID card Specimen

ID card specimen

Extracted ID Card Fields

extracted fields

The same applies for Passports:

Input Passport Specimen

Passport Specimen

Extracted MRZ Fields

MRZ Fields

The code samples used to achieve such result are available to consult via the following Github links:

Face extraction is automatically performed using the /facedetect API endpoint. If you are dealing with PDF documents, you can convert them at first to raw images via the /pdftoimg endpoint.

Finally, the official endpoint documentation is available to consult at pixlab.io/id-scan-api/docscan and a set of working samples in various programming language are available at the PixLab samples pages.