Universal ID

The Anyline Universal ID mode provides the functionality to scan MRZ documents, driving licenses, identity cards and insurance cards in one scan mode. The list of supported documents grow with each new release, so stay tuned for more.

New in version 34: Starting with Anyline 34, you can use the universalIdConfig to enable scanning different alphabets/scripts like Latin, Arabic or Cyrillic. This can be done by adding the parameter "alphabet" to the config.

Currently, the following alphabets/scripts are supported:

Arabic ID Scanning

Arabic ID scanning is enabled by adding:

"alphabet": "arabic"

Cyrillic ID Scanning

Cyrillic ID scanning is enabled by adding:

"alphabet": "cyrillic"

Examples

A couple of different examples can be found at Anyline Demos and Samples: Universal ID.

Scannable Universal ID Information

driving license

The scannable data fields that can be scanned with the Anyline Universal ID scanner depend on the type that is scanned (see below).

The scan result will also contain a corresponding confidence value (between 0 and 100) if a data field is successfully scanned (see ID Plugin Confidence and Field Confidences). The confidence values can vary between different data fields and different scan runs. They can also be different for consecutive runs which yield the same scan result.

For each scan result, the Universal ID mode generates a new, more generic ID object, containing all relevant information.

Known Limitation

Some special characters are not supported yet: Scanning data with unsupported characters may work, but the result will contain errors for these text parts.

Occasionally individual characters are recognised incorrectly.

Information on Driving Licenses, ID Cards and Insurance Cards

The following data fields can be scanned on driving licenses, ID cards and/or insurance cards.

New in version 36: All semantically similar field names have been unified for all layout types that are non MRZ. This change simplifies the following list.

All field names are generic and based on their semantic context. However, as a convenience overview the table still shows what fields names can be expected for a given type. This list may be extended as new document layouts are supported.

Field Name Driving License ID Card Insurance Card
additionalInformation  
additionalInformation1  
additionalInformation2  
address  
age    
audit    
authority
cardAccessNumber    
cityNumber    
conditions    
dateOfBirth
dateOfExpiry
dateOfIssue  
dateOfRegistration    
degreeOfDisability    
divisionNumber    
documentDiscriminator  
documentNumber
duplicate  
duration    
educationalInstitution    
endorsements  
eyes  
firstIssued  
firstName
folio    
fullName  
fullName@zho    
hair  
headOfFamily    
height  
lastName
licenseClass  
licenseType  
maidenName    
militaryRank    
municipalityNumber    
nationality  
office    
parentsFirstName    
parish    
personalNumber
placeAndDateOfBirth  
placeOfBirth  
previousType  
province    
restrictions  
sex  
socialSecurityNumber  
stateNumber    
voterId    
weight  

Known Limitation

Data fields with the postfix @zho are Chinese fields that are directly transliterated from the Chinese Commercial Code). At the moment only transliateration to Mainland Chinese is supported, so some Chinese characters might not be transliterated yet.

Information on MRZ Documents

If a document containing MRZ information is scanned with the Universal ID plugin, the content will be the same as for the Anyline MRZ scanner. MRZ is available on any ICAO standard Machine Readable Travel Documents. The Anyline MRZ module field names are according to the ICAO standard field names.

Known Limitation

The MRZ and Universal ID plugins are not using the same result names for specific fields.

This field name inconsistency will be unified in the future. For now the following lookup table can be used to map any field names from MRZ to their associated Universal ID synonyms. Some result field names are only available on MRZ documents those are marked as “N/A” in their synonym map cells.

Field Name MRZ Field Name Universal ID layouts
surname lastName
givenNames firstName
dateOfBirth dateOfBirth
dateOfExpiry dateOfExpiry
documentNumber documentNumber
documentType documentType
issuingCountryCode N/A
nationalityCountryCode N/A
sex sex
personalNumber personalNumber
optionalData N/A
checkDigitDateOfExpiry N/A
checkDigitDocumentNumber N/A
checkDigitDateOfBirth N/A
checkDigitPersonalNumber N/A
checkDigitFinal N/A
allCheckDigitsValid N/A
vizAddress address
vizDateOfIssue dateOfIssue
vizSurname lastName
vizGivenNames firstName
vizDateOfBirth dateOfBirth
vizDateOfExpiry dateOfExpiry

Supported document types and countries

The Universal ID scan mode supports all sorts of documents. It can not only scan everything that is available in the stand-alone Anyline MRZ scanner, but it can also be used for driving licenses, identification documents and more! The following paragraphs disclose the full list of supported (non MRZ) documents and layouts.

New in version 36: Unified naming schema for all layouts.

The naming schema for all layouts is built from multiple segments in the following fashion: [ISO 3661-1 alpha2]_[category]_[type]_[version]_[side] e.g. AT_DVL_O_04001_F. For some countries also subdivisions are supported, those are added to the first segment separated by a dash: [ISO 3661-1 alpha2]-[ISO 3661-2]_[category]_[type]_[version]_[side] e.g. US-CA_IDC_O_R301_F.

New in version 39: Added the layout name segments to the result of non-MRZ documents.

When scanning a non-MRZ document, the segments of the layout can be found within the result:

  • documentRegionDefinition corresponds to the the ISO region code.
  • documentCategoryDefinition corresponds to the category.
  • documentTypeDefinition corresponds to the type.
  • documentVersionsDefinition corresponds to the version. (Or multiple versions separated via dashes, if they can not be distinguished.)
  • documentSideDefinition corresponds to the side of the document.

Known Limitation

The layout name segments are not present within the results of an MRZ document as of now.

Deprecation Notice

The layoutDefinition entry within the Universal ID result will be deprecated and thus removed in a future release. The layout name segments will be the recommended alternative.

Document categories currently supported:

  • DVL: driving licenses
  • IDC: identification card
  • HIC: health insurance cards

Document types currently supported:

  • O: ordinary (default, e.g. national ID for IDC. or a standard driver’s license for DVL)
  • R: resident (resident permit/card)
  • MO: military ordinary
  • MT: military temporal
  • EO: EDU (student cards) ordinary
  • P: pensioner/retiree
  • HO: handicapped/disabled

Document version:

  • Official European Council version where available
  • Others are assigned a unique identifier for distinguishing documents that otherwise share all other layout code attributes

European Driving Licenses

For most of the countries, the Anyline Universal ID scanner supports only the newest layout at the moment. For the list of supported European driving licenses see the table below.

Country Code Layout Whitelist code
Austria AT AT_DVL_O_04001_F AT_DVL_O_04001_F
AT_DVL_O_05001_F AT_DVL_O_05002-05001_F
AT_DVL_O_05002_F
Belgium BE BE_DVL_O_02001_F BE_DVL_O_02003-02002-02001_F
BE_DVL_O_02002_F
BE_DVL_O_02003_F
BE_DVL_O_03001_F BE_DVL_O_05001-04003-04002-04001-03001_F
BE_DVL_O_04001_F
BE_DVL_O_04002_F
BE_DVL_O_04003_F
BE_DVL_O_05001_F
Croatia HR HR_DVL_O_02001_F HR_DVL_O_02001_F
Czech Republic CZ CZ_DVL_O_02001_F CZ_DVL_O_02003-02002-02001_F
CZ_DVL_O_02002_F
CZ_DVL_O_02003_F
Denmark DK DK_DVL_O_03001_F DK_DVL_O_03001_F
DK_DVL_O_04001_F DK_DVL_O_04001_F
Estonia EE EE_DVL_O_02004_F EE_DVL_O_02004_F
EE_DVL_O_R311_F EE_DVL_O_R311_F
Finland FI FI_DVL_O_04001_F FI_DVL_O_04001_F
France FR FR_DVL_O_06001_F*
  • FR_DVL_O_07001-06001_F
  • FR_DVL_O_07001-06001_F_v2
FR_DVL_O_07001_F*
Germany DE DE_DVL_O_02001_F DE_DVL_O_02006-02003-02002-02001_F
DE_DVL_O_02002_F
DE_DVL_O_02003_F
DE_DVL_O_02006_F
DE_DVL_O_02007_F DE_DVL_O_02007_F
Hungary HU HU_DVL_O_02001_F HU_DVL_O_02001_F
Ireland IE IE_DVL_O_04001_F IE_DVL_O_04001_F
Italy IT IT_DVL_O_06001_F IT_DVL_O_06001_F
Latvia LV LV_DVL_O_01003_F LV_DVL_O_01003_F
Lithuania LT LT_DVL_O_04001_F LT_DVL_O_04001_F
Luxembourg LU LU_DVL_O_01010_F LU_DVL_O_01010_F
Netherlands NL NL_DVL_O_04001_F NL_DVL_O_04001_F
NL_DVL_O_05001_F NL_DVL_O_05001_F
NL_DVL_O_06001_F NL_DVL_O_06001_F
Norway NO NO_DVL_O_07001_F NO_DVL_O_07001_F
Poland PL PL_DVL_O_04001_F* PL_DVL_O_04001_F*
PL_DVL_O_05001_F* PL_DVL_O_05001_F*
Portugal PT PT_DVL_O_06001_F PT_DVL_O_06001_F
Romania RO RO_DVL_O_05001_F RO_DVL_O_06001-05001_F
RO_DVL_O_06001_F
Slovakia SK SK_DVL_O_03001_F SK_DVL_O_04001-03001_F
SK_DVL_O_04001_F
Slovenia SI SI_DVL_O_04001_F SI_DVL_O_04001_F
Spain ES ES_DVL_O_04002_F ES_DVL_O_04002_F
Sweden SE SE_DVL_O_04001_F SE_DVL_O_05001-04001_F
SE_DVL_O_05001_F
SE_DVL_O_06001_F SE_DVL_O_06001_F
SE_DVL_O_07001_F SE_DVL_O_07001_F
Switzerland CH CH_DVL_O_02001_F CH_DVL_O_02001_F
United Kingdom GB GB_DVL_O_07001_F GB_DVL_O_07001_F
GB_DVL_O_08001_F GB_DVL_O_09002-09001-08002-08001_F
GB_DVL_O_08002_F
GB_DVL_O_09001_F
GB_DVL_O_09002_F

‘*’ marks improved or newly supported layouts for the latest release

North American Driving Licenses

For most of the countries or states, the Anyline Universal ID scanner supports only the newest layout at the moment. For the list of supported North American driving licenses see the table below.

Country State Code Layout Whitelist code
Canada Alberta CA-AB CA-AB_DVL_O_R281_F CA-AB_DVL_O_R281_F
British Columbia CA-BC CA-BC_DVL_O_R281_F CA-BC_DVL_O_R281_F
Manitoba CA-MB CA-MB_DVL_O_R371_F CA-MB_DVL_O_R371_F
Nova Scotia CA-NS CA-NS_DVL_O_R371_F CA-NS_DVL_O_R371_F
Ontario CA-ON CA-ON_DVL_O_R281_F CA-ON_DVL_O_R281_F
Quebec CA-QC CA-QC_DVL_O_R281_F CA-QC_DVL_O_R281_F
Saskatchewan CA-SK CA-SK_DVL_O_R371_F CA-SK_DVL_O_R371_F
United States Alabama US-AL US-AL_DVL_O_R271_F US-AL_DVL_O_R271_F
Alaska US-AK US-AK_DVL_O_R271_F US-AK_DVL_O_R271_F
Arizona US-AZ US-AZ_DVL_O_R241_F US-AZ_DVL_O_R241_F
Arkansas US-AR US-AR_DVL_O_R271_F US-AR_DVL_O_R271_F
California US-CA US-CA_DVL_O_R241_F US-CA_DVL_O_R241_F
US-CA_DVL_O_R341_F US-CA_DVL_O_R341_F
Colorado US-CO US-CO_DVL_O_R271_F US-CO_DVL_O_R271_F
US-CO_DVL_O_R341_F US-CO_DVL_O_R341_F
Connecticut US-CT US-CT_DVL_O_R261_F US-CT_DVL_O_R261_F
US-CT_DVL_O_R261_F_v2
Delaware US-DE US-DE_DVL_O_R271_F US-DE_DVL_O_R271_F
District of Columbia US-DC US-DC_DVL_O_R271_F US-DC_DVL_O_R271_F
Florida US-FL US-FL_DVL_O_R261_F US-FL_DVL_O_R261_F
US-FL_DVL_O_R261_F_v2
Georgia US-GA US-GA_DVL_O_R281_F US-GA_DVL_O_R281_F
US-GA_DVL_O_R381_F* US-GA_DVL_O_R381_F US-GA_DVL_O_R381_F_v2*
Hawaii US-HI US-HI_DVL_O_R271_F US-HI_DVL_O_R271_F
Idaho US-ID US-ID_DVL_O_R271_F US-ID_DVL_O_R271_F
Illinois US-IL US-IL_DVL_O_R241_F US-IL_DVL_O_R241_F
Indiana US-IN US-IN_DVL_O_R361_F US-IN_DVL_O_R361_F
Iowa US-IA US-IA_DVL_O_R271_F US-IA_DVL_O_R271_F
US-IA_DVL_O_R271_F_v2
US-IA_DVL_O_R391_F US-IA_DVL_O_R391_F
Kansas US-KS US-KS_DVL_O_R271_F US-KS_DVL_O_R271_F
Kentucky US-KY US-KY_DVL_O_R271_F US-KY_DVL_O_R271_F
Louisiana US-LA US-LA_DVL_O_R271_F US-LA_DVL_O_R271_F
Maine US-ME US-ME_DVL_O_R271_F US-ME_DVL_O_R271_F
US-ME_DVL_O_R371_F US-ME_DVL_O_R371_F
Maryland US-MD US-MD_DVL_O_R271_F US-MD_DVL_O_R271_F
Massachusetts US-MA US-MA_DVL_O_R261_F US-MA_DVL_O_R261_F
Michigan US-MI US-MI_DVL_O_R261_F US-MI_DVL_O_R261_F
US-MI_DVL_O_R261_F_v2
Minnesota US-MN US-MN_DVL_O_R271_F US-MN_DVL_O_R271_F
Mississippi US-MS US-MS_DVL_O_R271_F US-MS_DVL_O_R271_F
Missouri US-MO US-MO_DVL_O_R361_F US-MO_DVL_O_R361_F
US-MO_DVL_O_R371_F US-MO_DVL_O_R371_F
Montana US-MT US-MT_DVL_O_R271_F US-MT_DVL_O_R271_F
Nebraska US-NE US-NE_DVL_O_R271_F US-NE_DVL_O_R271_F
US-NE_DVL_O_R391_F US-NE_DVL_O_R391_F
Nevada US-NV US-NV_DVL_O_R271_F US-NV_DVL_O_R271_F
US-NV_DVL_O_R271_F_v2
New Hampshire US-NH US-NH_DVL_O_R271_F US-NH_DVL_O_R271_F
New Jersey US-NJ US-NJ_DVL_O_R261_F US-NJ_DVL_O_R261_F
US-NJ_DVL_O_R401_F US-NJ_DVL_O_R401_F
New Mexico US-NM US-NM_DVL_O_R271_F US-NM_DVL_O_R271_F
New York US-NY US-NY_DVL_O_R261_F US-NY_DVL_O_R261_F
North Carolina US-NC US-NC_DVL_O_R261_F US-NC_DVL_O_R261_F
North Dakota US-ND US-ND_DVL_O_R271_F US-ND_DVL_O_R271_F
Ohio US-OH US-OH_DVL_O_R361_F US-OH_DVL_O_R361_F
Oklahoma US-OK US-OK_DVL_O_R271_F US-OK_DVL_O_R271_F
Oregon US-OR US-OR_DVL_O_R271_F US-OR_DVL_O_R271_F
US-OR_DVL_O_R381_F US-OR_DVL_O_R381_F
Pennsylvania US-PA US-PA_DVL_O_R261_F US-PA_DVL_O_R261_F
US-PA_DVL_O_R261_F_v2
Rhode Island US-RI US-RI_DVL_O_R261_F US-RI_DVL_O_R261_F
US-RI_DVL_O_R261_F_v2
South Carolina US-SC US-SC_DVL_O_R281_F US-SC_DVL_O_R281_F
South Dakota US-SD US-SD_DVL_O_R271_F US-SD_DVL_O_R271_F
Tennessee US-TN US-TN_DVL_O_R271_F US-TN_DVL_O_R271_F
US-TN_DVL_O_R271_F_v2
Texas US-TX US-TX_DVL_O_R261_F US-TX_DVL_O_R261_F
US-TX_DVL_O_R351_F US-TX_DVL_O_R351_F
Utah US-UT US-UT_DVL_O_R271_F US-UT_DVL_O_R271_F
US-UT_DVL_O_R271_F_v2
US-UT_DVL_O_R391_F US-UT_DVL_O_R391_F
Vermont US-VT US-VT_DVL_O_R271_F US-VT_DVL_O_R271_F
Virginia US-VA US-VA_DVL_O_R271_F US-VA_DVL_O_R271_F
Washington US-WA US-WA_DVL_O_R271_F US-WA_DVL_O_R271_F
West Virginia US-WV US-WV_DVL_O_R361_F US-WV_DVL_O_R361_F
US-WV_DVL_O_R421_F* US-WV_DVL_O_R421_F*
Wisconsin US-WI US-WI_DVL_O_R271_F US-WI_DVL_O_R271_F
Wyoming US-WY US-WY_DVL_O_R271_F US-WY_DVL_O_R271_F

‘*’ marks improved or newly supported layouts for the latest release

Oceanian Driving Licenses

As of this version, the Anyline Universal ID only supports the newest version of driving licenses for the listed states and territories. The one exception to this is Northern Territory, where we do not support yet the version that is being rolled out from November 2020, but the previous one. For the list of supported driving licenses see the table below.

Country State Code Layout Whitelist code
Australia Australian Capital Territory AU-ACT AU-ACT_DVL_O_R261_F AU-ACT_DVL_O_R261_F
New South Wales AU-NSW AU-NSW_DVL_O_R241_F AU-NSW_DVL_O_R241_F
Northern Territory AU-NT AU-NT_DVL_O_R261_F AU-NT_DVL_O_R261_F
Queensland AU-QLD AU-QLD_DVL_O_R241_F AU-QLD_DVL_O_R241_F
South Australia AU-SA AU-SA_DVL_O_R241_F AU-SA_DVL_O_R241_F
Victoria AU-VIC AU-VIC_DVL_O_R241_F AU-VIC_DVL_O_R241_F
Western Australia AU-WA AU-WA_DVL_O_R261_F AU-WA_DVL_O_R261_F
New Zealand   NZ NZ_DVL_O_R261_F NZ_DVL_O_R261_F

African Driving Licenses

As of this version, the Anyline Universal ID only supports the newest version of driving licenses for the listed countries. For the list of supported African driving licenses see the table below.

Country Code Layout Whitelist code
Botswana BW BW_DVL_O_01001_F BW_DVL_O_01001_F
Malawi MW MW_DVL_O_R341_F MW_DVL_O_R341_F
Mozambique MZ MZ_DVL_O_R341_F MZ_DVL_O_R341_F
South Africa ZA ZA_DVL_O_R351_F ZA_DVL_O_R351_F
ZA_DVL_O_R351_F_v2
Zambia ZM ZM_DVL_O_R341_F ZM_DVL_O_R341_F

Asian Driving Licenses

For most of the countries, the Anyline Universal ID scanner supports only the newest layout at the moment. For the list of supported Asian driving licenses see the table below.

Country Code Layout Whitelist code
Turkey TR TR_DVL_O_01001_F* TR_DVL_O_01001_F

‘*’ marks improved or newly supported layouts for the latest release

European Identity Cards

For most of the countries, the Anyline Universal ID scanner supports only the newest layout at the moment. For the list of supported European identity cards see the table below.

National Identity cards

Country Code Layout Whitelist code
Austria AT AT_IDC_O_02001_F AT_IDC_O_02003-02002-02001_F
AT_IDC_O_02002_F
AT_IDC_O_02003_F
AT_IDC_O_03001_F AT_IDC_O_03001_F
Belgium BE BE_IDC_O_09001_F BE_IDC_O_09003-09002-09001_F
BE_IDC_O_09002_F
BE_IDC_O_09003_F
Croatia HR HR_IDC_O_03001_F HR_IDC_O_03002-03001_F
HR_IDC_O_03002_F
HR_IDC_O_04001_F* HR_IDC_O_04001_F*
Czech Republic CZ CZ_IDC_O_04001_F CZ_IDC_O_04002-04001_F
CZ_IDC_O_04002_F
Estonia EE EE_IDC_O_04001_F EE_IDC_O_04001_F
Finland FI FI_IDC_O_09001_F FI_IDC_O_09001_F
France FR FR_IDC_O_02001_F FR_IDC_O_02002-02001_F
FR_IDC_O_02002_F
FR_IDC_O_03001_F FR_IDC_O_03001_F
Germany DE DE_IDC_O_02001_F DE_IDC_O_02001_F
DE_IDC_O_02004_F DE_IDC_O_02004_F
Hungary HU HU_IDC_O_05001_F HU_IDC_O_05004-05003-05002-05001_F
HU_IDC_O_05002_F
HU_IDC_O_05003_F
HU_IDC_O_05004_F
Italy IT IT_IDC_O_04004_F IT_IDC_O_04004_F
Latvia LV LV_IDC_O_01001_F LV_IDC_O_01001_F
Lithuania LT LT_IDC_O_02001_F LT_IDC_O_02002-02001_F
LT_IDC_O_02002_F
Luxembourg LU LU_IDC_O_02005_F LU_IDC_O_02005_F
Moldova MD MD_IDC_O_02001_F MD_IDC_O_02002-02001_F
MD_IDC_O_02002_F
Netherlands NL NL_IDC_O_04001_F NL_IDC_O_05001-04001_F
NL_IDC_O_05001_F
Norway NO NO_IDC_O_01002_F NO_IDC_O_01002_F
Poland PL PL_IDC_O_02002_F PL_IDC_O_03001-02003-02002_F
PL_IDC_O_02003_F
PL_IDC_O_03001_F
Portugal PT PT_IDC_O_03001_F
  • PT_IDC_O_03005-03004-03003-03002-03001_F
  • PT_IDC_O_03005-03004-03003-03002-03001_F_v2
PT_IDC_O_03002_F
PT_IDC_O_03003_F
PT_IDC_O_03004_F
PT_IDC_O_03005_F
Slovakia SK SK_IDC_O_02001_F SK_IDC_O_05002-05001-04001-03001-02001_F
SK_IDC_O_03001_F
SK_IDC_O_04001_F
SK_IDC_O_05001_F
SK_IDC_O_05002_F
Slovenia SI SI_IDC_O_02001_F SI_IDC_O_02001_F
Spain ES ES_IDC_O_05001_F ES_IDC_O_05001_F
ES_IDC_O_06001_F* ES_IDC_O_06001_F*
Sweden SE SE_IDC_O_03001_F SE_IDC_O_03001_F
Switzerland CH CH_IDC_O_01001_F CH_IDC_O_01003-01002-01001_F
CH_IDC_O_01002_F
CH_IDC_O_01003_F

Military Identity cards

Country Code Layout Whitelist code
Austria AT AT_IDC_MO_R351_B AT_IDC_MO_R351_B
AT_IDC_MO_R381_B AT_IDC_MO_R381_B
AT_IDC_MT_R351_F AT_IDC_MT_R351_F
AT_IDC_MT_R382_F AT_IDC_MT_R382_F
AT_IDC_MT_R383_F AT_IDC_MT_R383_F

Disabled Identity cards

Country Code Layout Whitelist code
Austria AT AT_IDC_HO_R381_F AT_IDC_HO_R381_F

Pensioner Identity cards

Country Code Layout Whitelist code
Austria AT AT_IDC_P_R381_F AT_IDC_P_R381_F

Student Identity cards

Country Code Layout Whitelist code
Austria AT AT_IDC_EO_R361_F AT_IDC_EO_R361_F
AT_IDC_EO_R362_F AT_IDC_EO_R362_F
AT_IDC_EO_R363_F AT_IDC_EO_R363_F
AT_IDC_EO_R364_F AT_IDC_EO_R364_F

‘*’ marks improved or newly supported layouts for the latest release

North American Identity Cards

For most of the countries, the Anyline Universal ID scanner supports only the newest layout at the moment. For the list of supported North American identity cards see the table below.

Country State Code Layout Whitelist code
Mexico   MX MX_IDC_O_R271_F MX_IDC_O_R271_F
MX_IDC_O_R272_F MX_IDC_O_R272_F
MX_IDC_O_R273_F MX_IDC_O_R273_F
United States Alabama US-AL US-AL_IDC_O_R301_F US-AL_IDC_O_R301_F
Alaska US-AK US-AK_IDC_O_R301_F US-AK_IDC_O_R301_F
Arizona US-AZ US-AZ_IDC_O_R301_F US-AZ_IDC_O_R301_F
Arkansas US-AR US-AR_IDC_O_R301_F US-AR_IDC_O_R301_F
California US-CA US-CA_IDC_O_R301_F US-CA_IDC_O_R301_F
Colorado US-CO US-CO_IDC_O_R301_F US-CO_IDC_O_R301_F
US-CO_IDC_O_R421_F* US-CO_IDC_O_R421_F*
Connecticut US-CT US-CT_IDC_O_R301_F US-CT_IDC_O_R301_F
Delaware US-DE US-DE_IDC_O_R301_F US-DE_IDC_O_R301_F
District of Columbia US-DC US-DC_IDC_O_R301_F US-DC_IDC_O_R301_F
Florida US-FL US-FL_IDC_O_R301_F US-FL_IDC_O_R301_F
Georgia US-GA US-GA_IDC_O_R331_F US-GA_IDC_O_R331_F
Hawaii US-HI US-HI_IDC_O_R351_F US-HI_IDC_O_R351_F
Idaho US-ID US-ID_IDC_O_R321_F US-ID_IDC_O_R321_F
Illinois US-IL US-IL_IDC_O_R301_F US-IL_IDC_O_R301_F
Indiana US-IN US-IN_IDC_O_R331_F US-IN_IDC_O_R331_F
Iowa US-IA US-IA_IDC_O_R331_F US-IA_IDC_O_R331_F
Kansas US-KS US-KS_IDC_O_R321_F US-KS_IDC_O_R321_F
Kentucky US-KY US-KY_IDC_O_R351_F US-KY_IDC_O_R351_F
US-KY_IDC_O_R421_F* US-KY_IDC_O_R421_F*
Maine US-ME US-ME_IDC_O_R321_F US-ME_IDC_O_R321_F
Maryland US-MD US-MD_IDC_O_R321_F US-MD_IDC_O_R321_F
Massachusetts US-MA US-MA_IDC_O_R301_F US-MA_IDC_O_R301_F
Michigan US-MI US-MI_IDC_O_R301_F US-MI_IDC_O_R301_F
Minnesota US-MN US-MN_IDC_O_R321_F US-MN_IDC_O_R321_F
Mississippi US-MS US-MS_IDC_O_R321_F US-MS_IDC_O_R321_F
Missouri US-MO US-MO_IDC_O_R321_F US-MO_IDC_O_R321_F
Montana US-MT US-MT_IDC_O_R321_F US-MT_IDC_O_R321_F
Nebraska US-NE US-NE_IDC_O_R331_F US-NE_IDC_O_R331_F
US-NE_IDC_O_R391_F US-NE_IDC_O_R391_F
Nevada US-NV US-NV_IDC_O_R331_F US-NV_IDC_O_R331_F
New Hampshire US-NH US-NH_IDC_O_R351_F US-NH_IDC_O_R351_F
New Jersey US-NJ US-NJ_IDC_O_R301_F US-NJ_IDC_O_R301_F
US-NJ_IDC_O_R401_F US-NJ_IDC_O_R401_F
New Mexico US-NM US-NM_IDC_O_R331_F US-NM_IDC_O_R331_F
New York US-NY US-NY_IDC_O_R301_F US-NY_IDC_O_R301_F
US-NY_IDC_O_R401_F US-NY_IDC_O_R401_F
North Carolina US-NC US-NC_IDC_O_R301_F US-NC_IDC_O_R301_F
North Dakota US-ND US-ND_IDC_O_R351_F US-ND_IDC_O_R351_F
Ohio US-OH US-OH_IDC_O_R301_F US-OH_IDC_O_R301_F
Oklahoma US-OK US-OK_IDC_O_R352_F US-OK_IDC_O_R352_F
US-OK_IDC_O_R371_F US-OK_IDC_O_R371_F
Oregon US-OR US-OR_IDC_O_R321_F US-OR_IDC_O_R321_F
Pennsylvania US-PA US-PA_IDC_O_R301_F US-PA_IDC_O_R301_F
Rhode Island US-RI US-RI_IDC_O_R301_F US-RI_IDC_O_R301_F
South Carolina US-SC US-SC_IDC_O_R331_F US-SC_IDC_O_R331_F
South Dakota US-SD US-SD_IDC_O_R351_F US-SD_IDC_O_R351_F
Texas US-TX US-TX_IDC_O_R301_F US-TX_IDC_O_R301_F
US-TX_IDC_O_R401_F US-TX_IDC_O_R401_F
Utah US-UT US-UT_IDC_O_R321_F US-UT_IDC_O_R321_F
US-UT_IDC_O_R391_F US-UT_IDC_O_R391_F
Vermont US-VT US-VT_IDC_O_R351_F US-VT_IDC_O_R351_F
Virginia US-VA US-VA_IDC_O_R351_F US-VA_IDC_O_R351_F
Washington US-WA US-WA_IDC_O_R331_F US-WA_IDC_O_R331_F
West Virginia US-WV US-WV_IDC_O_R352_F US-WV_IDC_O_R352_F
Wisconsin US-WI US-WI_IDC_O_R351_F US-WI_IDC_O_R351_F
Wyoming US-WY US-WY_IDC_O_R331_F US-WY_IDC_O_R331_F

‘*’ marks improved or newly supported layouts for the latest release

African Identity Cards

State Code Layout Whitelist code
Lesotho LS LS_IDC_O_R391_F LS_IDC_O_R391_F

‘*’ marks improved or newly supported layouts for the latest release

Asian Identity Cards

For most of the countries, the Anyline Universal ID scanner supports only the newest layout at the moment. For the list of supported Asian identity cards see the table below.

State Code Layout Whitelist code
Hong Kong CN-HK CN-HK_IDC_O_R331_F CN-HK_IDC_O_R331_F
CN-HK_IDC_O_R332_F CN-HK_IDC_O_R332_F
Pakistan PK PK_IDC_O_R371_F PK_IDC_O_R371_F
PK_IDC_O_R382_F PK_IDC_O_R382_F
PK_IDC_O_R373_B PK_IDC_O_R373_B
PK_IDC_O_R382_B PK_IDC_O_R382_B
Turkey TR TR_IDC_R_R411_F* TR_IDC_R_R411_F
TR_IDC_O_R421_F* TR_IDC_O_R421_F

‘*’ marks improved or newly supported layouts for the latest release

European Health Insurance Cards

For most of the countries, the Anyline Universal ID scanner supports only the newest layout at the moment. For the list of supported European health insurance identity cards see the table below.

For complete overview of the EHIC documents please visit the official website of the European Union. For the list of officially supported EHIC documents see the table below. Take note that cards that are not officially supported may also scan, but it is not guaranteed.

Country Code Layout Whitelist code
Austria AT AT_HIC_O_R381_B AT_HIC_O_R381_B
France FR FR_HIC_O_R281_F FR_HIC_O_R281_F
Germany DE DE_HIC_O_R281_F DE_HIC_O_R281_F
Italy IT IT_HIC_O_R281_F IT_HIC_O_R281_F
Spain ES ES_HIC_O_R281_F ES_HIC_O_R281_F
United Kingdom GB GB_HIC_O_R281_F GB_HIC_O_R281_F

‘*’ marks improved or newly supported layouts for the latest release

Filtering Scannable Documents Types

By default, every document supported by the Universal ID is enabled. This includes MRZ documents, driving licenses, identity cards and health insurance cards. If this is not desired, then it is possible to configure which specific layouts to enable. To do this, one needs to add the "allowedLayouts": {} keyword-dictionary pair to the universalIdConfig. The contents of this dictionary will control the filtering.

Enabling MRZ Scanning

In order to enable MRZ scanning one has to include the mrz keyword with an empty list as its value inside the dictionary corresponding to the "allowedLayouts" keyword:

enable MRZ
"allowedLayouts": {"mrz": []}

Known Limitation

As of now, the MRZ scanning is either enabled or disabled. There is no option to enable only for specific types and therefore the values within the corresponding list are not checked. If a value is present, no errors are thrown and it will function as if the list was empty. E.g. "mrz": ["this_is_an_error"] will enable all MRZ documents to be scanned and has no other effect.

Note

If only MRZ should be scanned, using the MRZ stand-alone scan mode would be advisable.

Filtering Driving License Types

In order to enable driver license scanning one has to include the drivingLicense keyword with a list as its value inside the dictionary corresponding to the "allowedLayouts" keyword. The filtering is controlled by the values of the list. If it is empty then all supported driving license types will be allowed for scanning:

"allowedLayouts": {"drivingLicense": []}

If the list has elements in them then only layouts that correspond to those will be allowed to be scanned from the driving licenses. The following configuration for example only enables the AT_DVL_O_04001_F from the driving license layouts:

"allowedLayouts": {"drivingLicense": ["AT_DVL_O_04001_F"]}

Take note that certain values corerspond to multiple layouts. The following configuration for example only enables the AT_DVL_O_04001_F, the AT_DVL_O_05001_F and AT_DVL_O_05002_F layouts from the driving license layouts:

"allowedLayouts": {"drivingLicense": ["AT_DVL_O_04001_F", "AT_DVL_O_05002-05001_F"]}

For the accepted filter values, see the whitelist codes within the layout listing tables.

Note

Certain layouts have multiple filtering options. For best user experience, when one desires to enable a layout to be scanned, all filters belonging to that layout should be enabled. E.g.: The layout “US-PA_DVL_O_R261_F” has two filters, “US-PA_DVL_O_R261_F” and “US-PA_DVL_O_R261_F_v2”.

Filtering Identity Card Types

In order to enable identity card scanning one has to include the idFront keyword with a list as its value inside the dictionary corresponding to the "allowedLayouts" keyword. The filtering is controlled by the values of the list. If it is empty then all supported identity card types will be allowed for scanning:

"allowedLayouts": {"idFront": []}

If the list has elements in them then only layouts that correspond to those will be allowed to be scanned from the identity cards. The following configuration for example only enables the DE_IDC_O_02001_F layout from the identity card layouts:

"allowedLayouts": {"idFront": ["DE_IDC_O_02001_F"]}

Take note that certain values corerspond to multiple layouts. The following configuration for example only enables the DE_IDC_O_02001_F, the AT_IDC_O_02003_F, the AT_IDC_O_02002_F and the AT_IDC_O_02001_F layouts from the identity card layouts:

"allowedLayouts": {"idFront": ["DE_IDC_O_02001_F", "AT_IDC_O_02003-02002-02001_F"]}

For the accepted filter values, see the whitelist codes within the layout listing tables.

Filtering European Health Insurance Cards

In order to enable European Health Insurance Card (EHIC) scanning one has to include the insuranceCard keyword with a list as its value inside the dictionary corresponding to the "allowedLayouts" keyword. The filtering is controlled by the values of the list. If it is empty then all supported cards will be allowed for scanning:

"allowedLayouts": {"insuranceCard": []}

If the list has elements in them then only layouts that correspond to those will be allowed to be scanned from the cards. The following configuration for example only enables the DE_HIC_O_R281_F layout from the layouts:

"allowedLayouts": {"insuranceCard": ["DE_HIC_O_R281_F"]}

The following configuration for example only enables the DE_HIC_O_R281_F and the ES_HIC_O_R281_F layouts from the supported list of cards:

"allowedLayouts": {"insuranceCard": ["DE_HIC_O_R281_F", "ES_HIC_O_R281_F"]}

For the accepted filter values, see the whitelist codes within the layout listing tables.

Using Multiple Filters At Once

Using filters at the same time for different type of documents is simple. One only has to insert them into the the dictionary corresponding to the "allowedLayouts" keyword at the same time. The rules described previously regarding filtering still applies.

The following configuration for example enables MRZ scanning and allows all layouts from the driving licenses and from the identity cards:

"allowedLayouts": {"mrz": [], "drivingLicense": [], "idFront": [] }

The following configuration for example allows only the AT_DVL_O_04001_F layout from the driving license layouts, but allows all the identity card layouts:

"allowedLayouts": {"drivingLicense": ["AT_DVL_O_04001_F"], "idFront": [] }

The following configuration for example allows only the AT_DVL_O_05002_F and the AT_DVL_O_05001_F layouts from the driving license layouts, and allows only the AT_IDC_O_02003_F, the AT_IDC_O_02002_F, the AT_IDC_O_02001_F, the CZ_IDC_O_04002_F and the CZ_IDC_O_04001_F layouts from among the identity card layouts:

"allowedLayouts": {"drivingLicense": ["AT_DVL_O_05002-05001_F"], "idFront": ["AT_IDC_O_02003-02002-02001_F", "CZ_IDC_O_04002-04001_F"] }

Known Limitation

If a non valid string is used as a keyword in the “allowedLayouts” dictionary, or within one of the lists inside it, no error is thrown. The non valid value is simply not taken into consideration. This is the case for typos and for elements that should belong to other keywords.

E.g. "drivingLicense": ["AT_DVL_O_05002-05001_F", "this_is_another_error"] will enable layouts AT_DVL_O_05002_F and AT_DVL_O_05001_F as expected and nothing else. "idFront": ["SI_IDC_O_02001_F", "AT_DVL_O_05002-05001_F"] will enable layout SI_IDC_O_02001_F, but nothing else as AT_DVL_O_05002-05001_F belongs to “drivingLicense”. "idFront": ["AT_DVL_O_05002-05001_F"] is undefined behaviour, as the one and only value present in the list does not belong to an “idFront”.

Note

The configuration "allowedLayouts": {} does not allow any documents to be scanned. To scan all supported layouts set the default from the configuration above.

Universal ID Field Scan Configs

In the universalIdConfig, you can specify the scanning behavior for individual data fields depending on the document type. For this purpose, you can set universalIdFieldScanConfigs. Each universalIdFieldScanConfig contains a scanOption (see field scan options) and a minConfidence (see field confidences).

scanOptions can be set as int or as string value:

Scan Option Int Value String Value
Mandatory 0 mandatory
Optional 1 optional
Disabled 2 disabled

The minConfidence is an int value between 0 and 100.

An example of possible universalIdFieldScanConfigs can be found below.

For MRZ documents, full universalIdFieldScanConfigs can be set for fields in the Visual Inspection Zone (VIZ). For fields of the MRZ, only the minConfidence will be considered. Since our MRZ scanner requires scanning the full MRZ, the scanOptions for these fields are not customizeable.

New in version 37.

For all other document types, the universalIdFieldScanConfigs can be set for every data field of the scannable information. Data fields for which no universalIdFieldScanConfig is set, will be scanned with default values. If the config contains a field which is not present on a document, its value will be ignored during scanning.

Known Limitation

No universalIdFieldScanConfigs can be set for the the fullName@zho field of the Hong Kong ID card layouts at the moment. The reason is that all Chinese data fields (data fields with the postfix @zho) are currently not scanned but transliterated directly from the Chinese Commercial Code.

The example below includes the fields’ default values. All other fields are per default set to optional and have a minimum confidence of 30.

{
    "mrz": {
        "vizAddress": {"scanOption": "mandatory", "minConfidence": 20},
        "vizDateOfIssue": {"scanOption": 0, "minConfidence": 30},
        "vizSurname": {"scanOption": 0},
        "vizGivenNames": {"scanOption": "mandatory"},
        "vizDateOfBirth": {"scanOption": "mandatory"},
        "vizDateOfExpiry": {"scanOption": "mandatory"}
    },
    "drivingLicense": {
        "lastName": {"scanOption": 0, "minConfidence": 40},
        "firstName": {"scanOption": 0, "minConfidence": 40},
        "fullName": {"scanOption": 0, "minConfidence": 40},
        "dateOfBirth": {"scanOption": 0, "minConfidence": 50},
        "placeOfBirth": {"scanOption": 1, "minConfidence": 50},
        "dateOfIssue": {"scanOption": 1, "minConfidence": 50},
        "dateOfExpiry": {"scanOption": 1, "minConfidence": 50},
        "authority": {"scanOption": 1, "minConfidence": 30},
        "documentNumber": {"scanOption": 0, "minConfidence": 40},
        "licenseClass": {"scanOption": 1, "minConfidence": 30},
        "address": {"scanOption": 1},
        "sex": {"scanOption": 1,"minConfidence": 60},
        "personalNumber": {"scanOption": 1,"minConfidence": 60}
    },
    "idFront": {
        "lastName": {"scanOption": 0, "minConfidence": 60},
        "firstName": {"scanOption": 0, "minConfidence": 60},
        "fullName": {"scanOption": 0, "minConfidence": 40},
        "dateOfBirth": {"scanOption": 0,"minConfidence": 60},
        "placeOfBirth": {"scanOption": 1,"minConfidence": 60},
        "dateOfIssue": {"scanOption": 0, "minConfidence": 60},
        "dateOfExpiry": {"scanOption": 1,"minConfidence": 60},
        "cardAccessNumber": {"scanOption": 1,"minConfidence": 60},
        "documentNumber": {"scanOption": 0,"minConfidence": 60},
        "nationality": {"scanOption": 1,"minConfidence": 60},
        "sex": {"scanOption": 1,"minConfidence": 60},
        "personalNumber": {"scanOption": 1,"minConfidence": 60}
    },
        "insuranceCard": {
        "lastName": {"scanOption": 0, "minConfidence": 50},
        "firstName": {"scanOption": 0, "minConfidence": 50},
        "dateOfBirth": {"scanOption": 0, "minConfidence": 50},
        "personalNumber": {"scanOption": 0, "minConfidence": 50},
        "authority": {"scanOption": 0, "minConfidence": 50},
        "documentNumber": {"scanOption": 0, "minConfidence": 50},
        "dateOfExpiry": {"scanOption": 0, "minConfidence": 50},
        "nationality": {"scanOption": 0, "minConfidence": 50}
    }
}

What’s New

Date Changes
December 13 2022
Default scanOption values for universalIdFieldScanConfigs
for dateOfIssue and address has been set from ``mandatory``(0) to ``optional``(1)
to fix scanning issues with several layouts.
If you use your own universalIdFieldScanConfigs this will not affect you.

Added support for specific Turkish characters and improved all supported Turkish layouts.

Added support for Spanish Identification Card (newest) and Croatian Identification Card (newest).

Improved name fields on French driving license layout FR_DVL_O_07001-06001_F.

November 07 2022
Added support for Identification Cards of the following:
US-Colorado (newest), US-Kentucky (newest), Turkey.

Added support for Driving Licenses of the following:
US-West Virginia (newest), Poland (04001 & 05001; newest).

Added second template for US-Georgia Driving License.

August 03 2022
Added support for driving license for Turkey (newest).

Added support for Resident Permit for Turkey (newest).

June 22 2022
Added support for driving license for US-New Jersey (newest).

Added support for Identification Cards for the following states:

US-New Jersey (newest), US-New York (newest), US-Texas (newest).

Added improvements and second template for French driving license (07001).

May 11 2022
Added support for driving licenses for the following states:

US-Utah (newest), US-Nebraska (newest), US-Iowa (old).

Added support for identification cards for the following states:

US-Utah (newest), US-Nebraska (newest), France (newest), Lesotho.

Added improvements for French DL (07001).

March 30 2022
Added support for identification cards for the following states:

Austrian (newest), Austrian military (militia frontside - newest & old; regular backside - old), Austrian pensioner, Austrian disabled, Germany, Pakistan second version (front- & backside).

Added support for previous version of driving licenses for the following USA states:

Georgia, Oregon.

Fixed height field scanning issue on US layouts

Fixed Umlaut scanning issues on some layouts

Improved scanning of inch unit (“)

February 16 2022
Enabled universalIdFieldScanConfigs for MRZ documents.

Extended character support to French and Spanish special characters.

Added support for identification cards for the following states:

Germany, Pakistan front side, Pakistan back side, USA - Oklahoma.

Added support for driving licenses for the following Canadian states:

Manitoba, Nova Scotia, Saskatchewan.

Added support for the second version of driving licenses for the following USA states:

Maine, Missouri.

December 15 2021
Added support for 4 Austrian student identification cards

Added improvements for driving licenses from the following 4 USA states:

Missouri, West Virginia, Indiana, Ohio.

Breaking Change: Unified semantically identical field names (e.g. “surname” and “lastName”) within the scan result.

Breaking Change: Unified layout naming schema for layout filtering.

Fixed text detection bug and fixed disabling MRZ option

Improved minor scanning issues on several supported layouts released before Anyline Release 30.

Speed improvements for layout whitelisting.

November 17 2021
Added support/improvements for identification cards from the following 9 USA states:

Hawaii, Kenntucky, New Hampshire, North Dakota, Oklahoma, South Dakota, Vermont, West Virginia, Wisconsin.

Added support/improvemets for driving licenses from the following 3 USA states:

Hawaii, Texas, Oklahoma.

Added support for South Africa driving license.

Added support for 3 Austrian Army identification cards:

Wehrdienstausweis v1, Wehrdienstausweis v2, Dienstausweis.

October 06 2021
Added support for driving license from the following African states:

Botswana, Malawi, Mozambique and Zambia.

Added support for the latest driving licenses from California and Colorado.

August 24 2021
Added support for identification cards from the following 9 USA states:

Georgia, Indiana, Iowa, Nebraska, Nevada, New Mexico, South Carolina, Washington, Wyoming.

Added support for the two latest Hong Kong identification cards.

July 14 2021
Fixed bugs with scanning driver’s licenses from Austria. | | Added support for identification cards from the following 11 USA states:

Colorado, Idaho, Kansas, Maine, Maryland, Minnesota, Mississippi, Missouri, Montana, Oregon, Utah. |
Juni 02 2021
Added support for Estonian driving licence EE_DVL_O_R311_F .

April 23 2021
Fixed bugs with scanning driver’s licenses from Romania and Florida.

Added support for identification cards from the following 19 USA states:

Alabama, Alaska, Arizona, Arkansas, California, , Connecticut, Delaware, District of Columbia, Florida, Illinois, Massachusetts, Michigan, New Jersey, New York, North Carolina, Ohio, Pennsylvania, Rhode Island and Texas.

March 10 2021
Added or improved the following European national IDs:

France, Italy, Spain, Poland, Netherlands, Belgium, Czech Republic, Portugal, Sweden, Hungary, Switzerland, Luxembourg, Finland, Slovakia, Norway, Croatia, Lithuania, Moldova, Slovenia, Latvia, Estonia

January 27 2021
Added the following driver licenses:

USA: South Carolina, Georgia

CAN: Alberta, British Columbia, Ontario, Quebec

Added the following European Health Insurance Cards:

France front side, Germany front side, Spain front side, United-Kingdom front side, Italy front side

December 16 2020
Added the following driver licenses:

USA: Alabama, Alaska, Arkansas, Colorado, Delaware, District of Columbia, Hawaii, Idaho, Indiana, Iowa, Kansas, Kentucky, Louisiana, Maine, Maryland, Minnesota, Mississippi, Missouri, Montana, Nebraska, Nevada, New Hampshire, New Mexico, North Dakota, Oklahoma, Oregon, South Dakota, Tennessee, Utah, Vermont, Virginia, Washington, West Virginia, Wisconsin, Wyoming

November 12 2020
Added the following driver licenses:

USA: Connecticut, Florida, Massachusetts, Michigan, New Jersey, New York, North Carolina, Ohio, Pennsylvania, Rhode Island, and Texas

EU: Croatia, Estonia, Finland, Ireland, Norway, Latvia, Lithuania, Luxembourg, Slovakia, Slovenia, and Switzerland

Australia/Oceania: Capital Territory, Northern Territory, Western Australia, and New Zealand