> For the complete documentation index, see [llms.txt](https://docs.mindee.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.mindee.com/use-cases/extraction-models/international-id-card.md).

# International ID Card

Mindee enables the automatic extraction of structured identity data from ID cards, a critical component for use cases like identity verification, KYC, and onboarding.

Watch this short demo to see how quickly you can set up and test the French ID Card model with Mindee:

{% @supademo/embed url="<https://app.supademo.com/demo/cmf59btop30t539ozuva4neqi>" demoId="cmf59btop30t539ozuva4neqi" %}

## Why use Mindee for ID cards?

ID cards differ vastly across countries in design, language, and layout. Mindee abstracts that complexity by offering:

* Pre-configured templates: ready for different document types
* Plug-and-play integration: no template design or training required
* High accuracy and speed: even with variations in card format, font, or photo quality

## Example: French National ID Card (Carte Nationale d’Identité – France)

### Why Mindee works for French ID Cards

Mindee’s ID Card France OCR model handles all French ID variations. It’s optimized to read both MRZ and non‑MRZ zones, ensuring high accuracy across all formats.

Mindee can extract specific French ID card fields like:

* **Card Access Number (CAN)** – a unique numeric code specific to French ID cards; not labeled on the document itself
* **Issuing Authority** – indicates the specific French administrative body (mairie, préfecture, etc.) that issued the card
* **Document Type** – classification indicating which version of the ID card it is (NEW - the issued version from 2021 or OLD - the issued version from 1988 - 2021)
* **Document Sides** – indicates whether the processed image is the front or back of the ID
* **Image Orientation** – rotation metadata indicating how the image was oriented during extraction

If you want to try and do a live test, you can use this French ID example:

<figure><img src="https://4029869281-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fu5bStlX8nv4b9z4GXB2S%2Fuploads%2Fgit-blob-8952b2b9bc7584df9b0bb45abf7d2c50338a481e%2Ffrench-id-sample.jpg?alt=media" alt="" width="563"><figcaption></figcaption></figure>

### Two Ways to Create Your International ID Model

### 1. Choose "International ID" in the Catalog (Recommended)

* Click on "Create your document AI model" in your dashboard, then select **"International ID"**.
* The International ID model template comes pre-configured with [standard fields](#international-id-fields).
* Once your model is created, you can immediately [test](/models/live-test.md) with your own documents.
* Optionally, you can adjust the model's [Data Schema](/extraction-models/data-schema.md) if you need to modify fields.

#### 2. Build an ID Card Model from Scratch

* In the dialog with Mindee’s AI assistant, describe what the document is (e.g., “a French national ID card”) and specify the fields you want to extract (such as surname, date of birth, issuing authority).
* The AI will propose an initial schema, review it and adjust fields or mapping in the **Data Schema** tab until it fits your requirements.
* Once finalized, your custom model is ready for live testing.

## Document format support

The API handles both PDF and common image formats (JPG, PNG), including smartphone photos. It applies reliably to front/back sides and both old and new French ID layouts.

## International ID Fields

Documentation for all fields present in the data schema.

Field *accessors* are used as the keys for accessing the values in the returned data. On the data schema interface, this is the "Field Name".

Field *value types* indicate how the value is returned by the API. On the data schema interface, this is the "Field Type".

<details>

<summary>Given Names</summary>

The given names of the person.

Accessor: `given_names`\
Value Type: `string`

Has a single value.

</details>

<details>

<summary>Surnames</summary>

The surnames of the person.

Accessor: `surnames`\
Value Type: `string`

Has a single value.

</details>

<details>

<summary>Date of Birth</summary>

The date of birth of the person.

Accessor: `date_of_birth`\
Value Type: `date`

Has a single value.

</details>

<details>

<summary>Place of Birth</summary>

The place of birth of the person.

Accessor: `place_of_birth`\
Value Type: `string`

Has a single value.

</details>

<details>

<summary>Nationality</summary>

The nationality of the person.

Accessor: `nationality`\
Value Type: `string`

Has a single value.

</details>

<details>

<summary>Sex</summary>

The sex of the person.

Accessor: `sex`\
Possible Values: `M`, `F`, `Other`

Has a single value.

</details>

<details>

<summary>Document Number</summary>

The document number of the ID.

Accessor: `document_number`\
Value Type: `string`

Has a single value.

</details>

<details>

<summary>Date of Issue</summary>

The date when the ID was issued.

Accessor: `date_of_issue`\
Value Type: `date`

Has a single value.

</details>

<details>

<summary>Date of Expiry</summary>

The date when the ID expires.

Accessor: `date_of_expiry`\
Value Type: `date`

Has a single value.

</details>

<details>

<summary>Authority</summary>

The authority that issued the ID.

Accessor: `authority`\
Value Type: `string`

Has a single value.

</details>

<details>

<summary>Address</summary>

The address of the person.

Accessor: `address`

**Subfields**

* **Street**\
  The street address.\
  Accessor: `street`\
  Value Type: `string`
* **City**\
  The city.\
  Accessor: `city`\
  Value Type: `string`
* **State**\
  The state or province.\
  Accessor: `state`\
  Value Type: `string`
* **Postal Code**\
  The postal code.\
  Accessor: `postal_code`\
  Value Type: `string`
* **Country**\
  The country.\
  Accessor: `country`\
  Value Type: `string`

Has a single value.

</details>

<details>

<summary>Document Type</summary>

The type of ID document.

Accessor: `document_type`\
Possible Values: `Passport`, `National ID`, `Driver License`, `Residence Permit`

Has a single value.

</details>

<details>

<summary>MRZ</summary>

The mrz, the Machine Readable Zone.

Accessor: `mrz`

**Subfields**

* **Line 1**\
  The first line of the mrz.\
  Accessor: `line_1`\
  Value Type: `string`
* **Line 2**\
  The second line of the mrz.\
  Accessor: `line_2`\
  Value Type: `string`
* **Line 3**\
  The third line of the mrz.\
  Accessor: `line_3`\
  Value Type: `string`

Has a single value.

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.mindee.com/use-cases/extraction-models/international-id-card.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
