Docyield's ID card scanner reads national identity cards, residence permits, and similar identity documents into clean, labelled fields. Upload a scan or a photo and you get back the document type, the holder's full name, the document number, date of birth, expiry date, nationality, sex, and any printed address — ready as JSON, CSV, Excel, or XML. No retyping, no squinting at small print on a laminated card.
Identity cards vary enormously between countries, and even within one country a card may be redesigned every few years. Fields move, labels appear in different languages, and the layout is squeezed around a photo and security features. Rather than matching a rigid template that fits only one design, Docyield interprets each card in context — it knows what a document number looks like and where a date of birth tends to sit — so it copes with cards it has never seen before.
What an ID card scanner captures
Most identity cards share a common core: the type of document, the holder's name, a unique document or ID number, the date of birth, an expiry date, nationality, and a sex marker. Some cards also print a residential address; many do not. The scanner gathers whichever of these the card shows and assigns each to its own labelled field, so the document number never collides with the date of birth and nationality stays distinct from the issuing context.
Where the card does not carry a particular field — many national IDs omit the address, for instance — that field is returned empty rather than filled with a guess. Because an identity card is a sensitive document, Docyield transcribes every value exactly as printed and leaves reformatting, translation, or normalisation to you.
Structured extraction versus raw OCR
Plain OCR turns the card into a stream of characters with no sense of meaning: a name, a number, a couple of dates, and a nationality code all run together. You are then left to decide which token is the document number and which date is the expiry — and on a card printed in an unfamiliar language, those decisions get harder still.
Structured extraction removes that step. Each value lands in a named field, so your spreadsheet or application can read by field name instead of parsing free text and counting positions. That consistency is what makes a batch of cards safe to import in one go, rather than a pile of transcripts that each need manual sorting.
Many document types, one consistent output
The term "ID card" covers a lot of ground — national identity cards, residence and work permits, voter cards, and other government-issued credentials. They differ in which fields they print and how they label them, but the information you usually want is broadly the same. The document-type field captures what the card actually is, so you can tell a residence permit apart from a national ID without inspecting the rest of the record.
Because the output schema is fixed, every card you process maps onto the same set of fields regardless of its origin. A card that simply lacks a given field leaves that field empty, which means a mixed pile of documents still produces a uniform, predictable dataset you can work with directly.
This matters most when you are merging records from several sources. If one batch of cards prints an address and another does not, you still end up with one consistent table rather than two shapes you have to reconcile. The document-type field then becomes a quick way to split or filter the dataset after the fact, without re-reading the original images.
Who uses an ID card scanner
- Customer onboarding and KYC-style intake flows that need identity details recorded from a card.
- HR teams capturing the identity documents of new employees and contractors.
- Front desks at clinics, hotels, and offices logging visitor or patient identity quickly.
- Membership, access-control, and registration systems that read details straight from a card.
- Developers embedding an identity-capture step into a web or mobile app via the API.
Accuracy, limitations, and review
No tool reads every identity card perfectly, and it is more useful to be honest about that than to overpromise. Security overlays printed across the text, glossy laminates that throw glare, low-resolution scans, and photos taken at an angle all chip away at how cleanly the card reads. A flat, sharp, evenly lit image of the front of the card produces the best result, and it is worth retaking a poor photo rather than running it as is.
When a field is missing or genuinely unreadable, Docyield returns it empty instead of inventing a value, because on identity data a wrong entry is far more harmful than a blank one. Treat the output as captured data and keep a review step for the small share of cards that need it — checking the document number and dates against the original. Docyield does not assess whether a card is authentic or valid; it reports what is printed.
Privacy and handling sensitive fields
Identity cards are personal data by definition. Docyield uses uploaded files only to produce your result and does not use them to train models. The fields are returned exactly as printed, with no enrichment or external lookups, so nothing is appended that the card did not already contain.
Returning the date of birth, document number, and any address as discrete fields makes it easy to keep, mask, or discard each one according to your own rules once extraction is done. Docyield offers no legal or compliance advice and makes no verification guarantees — how the data is stored and used is entirely your decision.
Output formats and scaling with the API
Each scan exports as JSON, CSV, Excel, or XML from the same result. JSON is convenient for developers; CSV and Excel suit teams keeping a register in a spreadsheet; XML fits legacy imports. The free tool reads one card at a time, which handles most ad-hoc captures.
When the volume grows, the Docyield API and batch dashboard return the same schema you see here, so you can process many cards, receive results by webhook, and apply your own validation. The field names are identical across the free tool and the paid plans, so scaling up changes nothing in your code.
What the ID card scanner extracts
Each card is returned against a fixed schema, with values transcribed exactly as printed. Fields the card does not carry, or that cannot be read, come back empty rather than guessed.
- Document type
- The kind of identity document — national ID, residence permit, and so on.
- Full name
- The holder's full name as printed.
- Document number
- The card's document or ID number.
- Date of birth
- The holder's date of birth.
- Expiry date
- The date the card expires.
- Nationality
- The holder's nationality as printed.
- Sex
- The sex or gender marker on the card.
- Address
- The address, when the card prints one; empty otherwise.
How to scan an ID card into structured data
- 1Upload the card — drop a PDF, PNG, JPG, or WEBP onto the box above, or click to choose a file.
- 2Use a flat, sharp, evenly lit image of the front of the card so security overlays do not obscure the print.
- 3Wait a moment while Docyield reads the card and extracts the fields.
- 4Review the result against the card, checking the document number and dates in particular.
- 5Choose your output tab — JSON, CSV, Excel, or XML — then copy or download the data.
Frequently asked questions
Processing documents at scale?
Batch upload, an extraction API, and webhooks for 100+ documents a month.
