---
schema_version: "1"
id: 57ed4f45e3faefc28c0e0d8d2b565432de2c348850a66736ad6905b0a69d1c1a
title: Detect Text in Standard Forms
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/einstein-vision-language/einstein/guides/Detect-Text-in-Images/detect-text-in-standard-forms.md
canonical_url: https://developer.salesforce.com/docs/analytics/einstein-vision-language/guide/detect-text-in-standard-forms.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: 7f6076455a253ba463226365faaf6db0d3a1134403ede7b85f9253c9eac59436
products:
  - Einstein Vision and Language
  - Einstein Vision and Language Repo
---

# Detect Text in Standard Forms

Einstein OCR (optical character recognition) can now extract text from a variety of common forms.

Einstein OCR supports these standard forms.

-   Driver's license, only United States, including Washington, DC
-   Form 1040, only 2019
-   Form W-2
-   Passport, only Australia, Canada, United Kingdom, and United States
-   Pay stub, generated by ADP or Workday
-   Permanent Resident Card, only United States including Washington, DC

When you call the API, you send in the form as an image or PDF, and specify the `tabulatev2` modelId. The JSON response contains key-value pairs for each field in the form.
![JaneDoeDriversLicenseWithCallouts](https://developer.salesforce.com/media/jane_doe_dl_with_callouts.png)

1. The **key** is the label of the form field detected by Einstein OCR. If you fill out the form, the key is the text that you read to see what data to put in that field.
2. The **value** is the data of the actual form field.

The model infers the document layout and word relationships, then extracts the entity and value for each field in the form. For example, in a driver's license, Einstein links together the issue date of the license (09/13/2020), how the issue date is referred to on the license (4a ISS), and the entity type (issue_date), which is a consistent field name across all variations of driver’s licenses. In addition, when the model detects a compound field (such as an address), it normalizes the text of that field into its constituent parts.

Here are some examples of key-value pairs from a form.

| Form             | Form Key                              | Form Value                           | Normalized Text                                                                                        |
| ---------------- | ------------------------------------- | ------------------------------------ | ------------------------------------------------------------------------------------------------------ |
| Form 1040        | `a Employee's social security number` | 123-45-6789                          | n/a                                                                                                    |
| Driver’s license | `3 DOB`                               | 09/13/1999                           | n/a                                                                                                    |
| Form W-2         | `Employee Address`                    | 123 Sample Street Phoenix, AZ, 01234 | `{\\”Street\\”:\\”123 Sample Street\\”,\\”City\\”Phoenix\\”,\\”State\\”:”\\AZ\\”,”\\ZipCode\\”:01234}` |

When we detect a form field as an address, we normalize that text and return fields populated with street, city, state, postal code, and country. When an address has multiple lines (as in the case of _P.O. Box_, or _Apartment_), **normalizedText** returns the original text. if there’s a line separator in the text field, it will be present in the **normalizedText** field.

**note:** Currently only U.S. addresses are normalized.

See the [Entity Normalization](https://developer.salesforce.com/docs/analytics/einstein-vision-language/Detect-Entities-in-Text/entity-normalization.md) for more details on how detected text is normalized.
