law://eu/dec/2021/2014@2026-11-13THE EUROPEAN COMMISSION,Having regard to the Treaty on the Functioning of the European Union,Having regard to Regulation (EU) 2021/953 of the European Parliament and of the Council of 14 June 2021 on a framework for the issuance, verification and acceptance of interoperable COVID-19 vaccination, test and recovery certificates (EU Digital COVID Certificate) to facilitate free movement during the COVID-19 pandemicnote, and in particular Article 9(1) and (3) thereof,Whereas:
HAS ADOPTED THIS DECISION:
| Field id | Field name | Instructions |
|---|---|---|
| ver | Schema version | Shall match the identifier of the schema version used for producing the EUDCC.Example:"ver": "1.3.0" |
| Field id | Field name | Instructions |
|---|---|---|
| nam/fn | Surname(s) | Surname(s) of the holder.Exactly 1 (one) non-empty field shall be provided, with all surnames included in it. In case of multiple surnames, these shall be separated by a space. Combination names including hyphens or similar characters must however stay the same.Examples:"fn": "Musterfrau-Gößinger""fn": "Musterfrau-Gößinger Müller" |
| nam/fnt | Standardised surname(s) | Surname(s) of the holder transliterated using the same convention as the one used in the holder’s machine readable travel documents (such as the rules defined in ICAO Doc 9303 Part 3).Exactly 1 (one) non-empty field shall be provided, only including characters A-Z and <. Maximum length: 80 characters (as per ICAO 9303 specification).Examples:"fnt": "MUSTERFRAU<GOESSINGER""fnt": "MUSTERFRAU<GOESSINGER<MUELLER" |
| nam/gn | Forename(s) | Forename(s), such as given name(s), of the holder.If the holder has no forenames, the field shall be skipped.In all other cases, exactly 1 (one) non-empty field shall be provided, with all forenames included in it. In case of multiple forenames, these shall be separated by a space.Example:"gn": "Isolde Erika" |
| nam/gnt | Standardised forename(s) | Forename(s) of the holder transliterated using the same convention as the one used in the holder’s machine readable travel documents (such as the rules defined in ICAO Doc 9303 Part 3).If the holder has no forenames, the field shall be skipped.In all other cases, exactly 1 (one) non-empty field shall be provided, only including characters A-Z and <. Maximum length: 80 characters.Example:"gnt": "ISOLDE<ERIKA" |
| dob | Date of birth | Date of birth of the DCC holder.Complete or partial date without time restricted to the range from 1900-01-01 to 2099-12-31.Exactly 1 (one) non-empty field shall be provided if the complete or partial date of birth is known. If the date of birth is not known even partially, the field shall be set to an empty string "". This should match the information as provided on travel documents.One of the following ISO 8601 formats shall be used if information on date of birth is available. Other options are not supported.YYYY-MM-DDYYYY-MMYYYY(The verifier app may show missing parts of the date of birth using the XX convention as the one used in machine-readable travel documents, e.g. 1990-XX-XX.)Examples:"dob": "1979-04-14""dob": "1901-08""dob": "1939""dob": "" |
| Group identifier | Group name | Entries |
|---|---|---|
| v | Vaccination group | If present, shall contain exactly 1 (one) entry describing exactly 1 (one) vaccination dose (one dose). |
| t | Test group | If present, shall contain exactly 1 (one) entry describing exactly 1 (one) test result. |
| r | Recovery group | If present, shall contain exactly 1 (one) entry describing 1 (one) recovery statement. |
| Field id | Field name | Instructions |
|---|---|---|
| v/tg | Disease or agent targeted: COVID-19 (SARS-CoV or one of its variants) | A coded value from the value setdisease-agent-targeted.json.This value set has a single entry 840539006, which is the code for COVID-19 from SNOMED CT (GPS).Exactly 1 (one) non-empty field shall be provided.Example:"tg": "840539006" |
| v/vp | COVID-19 vaccine or prophylaxis | Type of the vaccine or prophylaxis used.A coded value from the value setvaccine-prophylaxis.json.The value set is distributed from the EUDCC Gateway.Exactly 1 (one) non-empty field shall be provided.Example:"vp": "1119349007"(a SARS-CoV-2 mRNA vaccine) |
| v/mp | COVID-19 vaccine product | Medicinal product used for this specific dose of vaccination. A coded value from the value setvaccine-medicinal-product.json.The value set is distributed from the EUDCC Gateway.Exactly 1 (one) non-empty field shall be provided. Example:"mp": "EU/1/20/1528" (Comirnaty) |
| v/ma | COVID-19 vaccine marketing authorisation holder or manufacturer | Marketing authorisation holder or manufacturer, if no marketing authorization holder is present. A coded value from the value setvaccine-mah-manf.json.The value set is distributed from the EUDCC Gateway.Exactly 1 (one) non-empty field shall be provided. Example:"ma": "ORG-100030215"(Biontech Manufacturing GmbH) |
| v/dn | Number in a series of doses | Sequence number (positive integer) of the dose given during this vaccination event. 1 for the first dose, 2 for the second dose etc. More specific rules are provided in Section 5 of Annex II.Exactly 1 (one) non-empty field shall be provided.Examples:"dn": "1"(first dose)"dn": "2"(second dose)"dn": "3"(third dose) |
| v/sd | The overall number of doses in the series | Overall number of doses (positive integer) in the vaccination series. More specific rules are provided in Section 5 of Annex II.Exactly 1 (one) non-empty field shall be provided.Examples:"sd": "1" (in case of a 1-dose primary vaccination course)"sd": "2" (in case of a 2-dose primary vaccination series or for an additional dose following a 1-dose primary vaccination course)"sd": "3" (e.g. in case of additional doses following a 2-dose primary vaccination series) |
| v/dt | Date of vaccination | The date when the described dose was received, in the format YYYY-MM-DD (full date without time). Other formats are not supported.Exactly 1 (one) non-empty field shall be provided. Example:"dt": "2021-03-28" |
| v/co | Member State or third country in which the vaccine was administered | Country expressed as a 2-letter ISO3166 code (RECOMMENDED) or a reference to an international organisation responsible for the vaccination event (such as UNHCR or WHO). A coded value from the value set country-2-codes.json.The value set is distributed from the EUDCC Gateway.Exactly 1 (one) field shall be provided.Example:"co": "CZ""co": "UNHCR" |
| v/is | Certificate issuer | Name of the organisation that issued the certificate. Identifiers are allowed as part of the name, but not recommended to be used individually without the name as a text. Max 80 UTF-8 characters.Exactly 1 (one) non-empty field shall be provided. Example:"is": "Ministry of Health of the Czech Republic""is": "Vaccination Centre South District 3" |
| v/ci | Unique certificate identifier | Unique certificate identifier (UVCI) as specified in the https://ec.europa.eu/health/sites/default/files/ehealth/docs/vaccination-proof_interoperability-guidelines_en.pdfThe inclusion of the checksum is optional. The prefix "URN:UVCI:" may be added.Exactly 1 (one) non-empty field shall be provided.Examples:"ci": "URN:UVCI:01:NL:187/37512422923""ci": "URN:UVCI:01:AT:10807843F94AEE0EE5093FBC254BD813#B" |
| Field id | Field name | Instructions |
|---|---|---|
| t/tg | Disease or agent targeted: COVID-19 (SARS-CoV or one of its variants) | A coded value from the value set disease-agent-targeted.json.This value set has a single entry 840539006, which is the code for COVID-19 from SNOMED CT (GPS).Exactly 1 (one) non-empty field shall be provided.Example:"tg": "840539006" |
| t/tt | The type of test | The type of the test used, based on the material targeted by the test. A coded value from the value set test-type.json (based on LOINC). Values outside of the value set are not allowed.Exactly 1 (one) non-empty field shall be provided.Example:"tt": "LP6464-4"(Nucleic acid amplification with probe detection)"tt": "LP217198-3"(Rapid immunoassay) |
| t/nm | Test name (nucleic acid amplification tests only) | The name of the nucleic acid amplification test (NAAT) used. The name should include the name of the test manufacturer and the commercial name of the test, separated by a comma.For NAAT: the field is optional.For RAT: the field shall not be used, as the name of the test is supplied indirectly through the test device identifier (t/ma).When supplied, the field shall not be empty.Example:"nm": "ELITechGroup, SARS-CoV-2 ELITe MGB® Kit" |
| t/ma | Test device identifier (rapid antigen tests only) | Rapid antigen test (RAT) device identifier from the JRC database. Value set (HSC common list):All Rapid antigen tests in HSC common list (human readable).https://covid-19-diagnostics.jrc.ec.europa.eu/devices/hsc-common-recognition-rat (machine-readable, values of the field id_device included on the list form the value set).In EU/EEA countries, issuers shall only issue certificates for tests belonging to the currently valid value set. The value set shall be updated every 24 hours.Values outside of the value set may be used in certificates issued by third countries, however the identifiers shall still be from the JRC database. The use of other identifiers such as those provided directly by test manufacturers is not permitted.Verifiers shall detect values not belonging to the up to date value set and display certificates bearing these as invalid. If an identifier is removed from the value set, certificates including it may be accepted for a maximum of 72 hours after the date of removal.The value set is distributed from the EUDCC Gateway.For RAT: exactly 1 (one) non-empty field shall be provided.For NAAT: the field shall not be used, even if the NAA test identifier is available in the JRC database.Example:"ma": "344"(SD BIOSENSOR Inc, STANDARD F COVID-19 Ag FIA) |
| t/sc | Date and time of the test sample collection | The date and time when the test sample was collected. The time shall include information on the time zone. The value shall not denote the time when the test result was produced.Exactly 1 (one) non-empty field shall be provided.One of the following ISO 8601 formats shall be used. Other options are not supported.YYYY-MM-DDThh:mm:ssZYYYY-MM-DDThh:mm:ss[+-]hhYYYY-MM-DDThh:mm:ss[+-]hhmmYYYY-MM-DDThh:mm:ss[+-]hh:mmExamples:"sc": "2021-08-20T10:03:12Z" (UTC time)"sc": "2021-08-20T12:03:12+02" (CEST time)"sc": "2021-08-20T12:03:12+0200" (CEST time)"sc": "2021-08-20T12:03:12+02:00" (CEST time) |
| t/tr | Result of the test | The result of the test. A coded value from the value set test-result.json (based on SNOMED CT, GPS).Exactly 1 (one) non-empty field shall be provided.Example:"tr": "260415000" (Not detected) |
| t/tc | Testing centre or facility | Name of the actor that conducted the test. Identifiers are allowed as part of the name, but not recommended to be used individually without the name as a text. Max 80 UTF-8 characters. Any extra characters should be truncated. The name is not designed for automated verification.For NAAT tests: exactly 1 (one) non-empty field shall be provided.For RAT tests: the field is optional. If provided, shall not be empty.Example:"tc": "Test centre west region 245" |
| t/co | Member State or third country in which the test was carried out | Country expressed as a 2-letter ISO3166 code (RECOMMENDED) or a reference to an international organisation responsible for carrying out the test (such as UNHCR or WHO). This shall be a coded value from the value set country-2-codes.json.The value set is distributed from the EUDCC Gateway.Exactly 1 (one) field shall be provided.Examples:"co": "CZ""co": "UNHCR" |
| t/is | Certificate issuer | Name of the organisation that issued the certificate. Identifiers are allowed as part of the name, but not recommended to be used individually without the name as a text. Max 80 UTF-8 characters.Exactly 1 (one) non-empty field shall be provided.Examples:"is": "Ministry of Health of the Czech Republic""is": "North-West region health authority" |
| t/ci | Unique certificate identifier | Unique certificate identifier (UVCI) as specified in the vaccination-proof_interoperability-guidelines_en.pdf (europa.eu)The inclusion of the checksum is optional. The prefix "URN:UVCI:" may be added.Exactly 1 (one) non-empty field shall be provided.Examples:"ci": "URN:UVCI:01:NL:187/37512422923""ci": "URN:UVCI:01:AT:10807843F94AEE0EE5093FBC254BD813#B" |
| Field id | Field name | Instructions |
|---|---|---|
| r/tg | Disease or agent from which the holder has recovered: COVID-19 (SARS-CoV-2 or one of its variants) | A coded value from the value setdisease-agent-targeted.json.This value set has a single entry 840539006, which is the code for COVID-19 from SNOMED CT (GPS).Exactly 1 (one) non-empty field shall be provided.Example:"tg": "840539006" |
| r/fr | Date of the holder’s first positive NAAT test result | The date when a sample for the NAAT test producing a positive result was collected, in the format YYYY-MM-DD (complete date without time). Other formats are not supported.Exactly 1 (one) non-empty field shall be provided.Example:"fr": "2021-05-18" |
| r/co | Member State or third country in which test was carried out | Country expressed as a 2-letter ISO3166 code (RECOMMENDED) or a reference to an international organisation responsible for carrying out the test (such as UNHCR or WHO). This shall be a coded value from the value setcountry-2-codes.json.The value set is distributed from the EUDCC Gateway.Exactly 1 (one) field shall be provided.Examples:"co": "CZ""co": "UNHCR" |
| r/is | Certificate issuer | Name of the organisation that issued the certificate. Identifiers are allowed as part of the name, but not recommended to be used individually without the name as a text. Max 80 UTF-8 characters.Exactly 1 (one) non-empty field shall be provided. Example:"is": "Ministry of Health of the Czech Republic""is": "Central University Hospital" |
| r/df | Certificate valid from | The first date on which the certificate is considered to be valid. The date shall not be earlier than the date calculated as r/fr + 11 days.The date shall be provided in the format YYYY-MM-DD (complete date without time). Other formats are not supported.Exactly 1 (one) non-empty field shall be provided.Example:"df": "2021-05-29" |
| r/du | Certificate valid until | The last date on which the certificate is considered to be valid, assigned by the certificate issuer. The date shall not be after the date calculated as r/fr + 180 days.The date shall be provided in the format YYYY-MM-DD (complete date without time). Other formats are not supported.Exactly 1 (one) non-empty field shall be provided.Example:"du": "2021-11-14" |
| r/ci | Unique certificate identifier | Unique certificate identifier (UVCI) as specified in the vaccination-proof_interoperability-guidelines_en.pdf (europa.eu)The inclusion of the checksum is optional. The prefix "URN:UVCI:" may be added.Exactly 1 (one) non-empty field shall be provided.Examples:"ci": "URN:UVCI:01:NL:187/37512422923""ci": "URN:UVCI:01:AT:10807843F94AEE0EE5093FBC254BD813#B" |
Source: EUR-Lex, © European Union, 1998-2026. Reuse authorised under Decision 2011/833/EU.