VAT number formats
How VAT numbers are written in the 27 EU countries, Northern Ireland and the UK: prefix, structure, an example and a regular expression for each.
| Country | Format | Example | Local name |
|---|---|---|---|
| Austria AT | ATU + 8 digits | ATU13585627 | UID |
| Belgium BE | BE + 10 digits, starting with 0 or 1 | BE0776091951 | BTW / TVA |
| Bulgaria BG | BG + 9 digits (companies) or 10 digits (individuals) | BG175074752 | ДДС |
| Croatia HR | HR + 11 digits | HR33392005961 | PDV ID |
| Cyprus CY | CY + 8 digits + 1 letter | CY10259033P | ΦΠΑ |
| Czech Republic CZ | CZ + 8, 9 or 10 digits | CZ25123891 | DIČ |
| Denmark DK | DK + 8 digits | DK13585628 | CVR |
| Estonia EE | EE + 9 digits | EE100931558 | KMKR |
| Finland FI | FI + 8 digits | FI20774740 | ALV |
| France FR | FR + 2 check characters + 9-digit SIREN | FR40303265045 | TVA |
| Germany DE | DE + 9 digits | DE136695976 | USt-IdNr. |
| Greece EL | EL + 9 digits (the EU uses EL, not GR, for Greece) | EL094259216 | ΑΦΜ |
| Hungary HU | HU + 8 digits | HU12892312 | ANUM |
| Ireland IE | IE + 7 digits + 1 or 2 letters (old format: digit, letter, 5 digits, letter) | IE6433435F | VAT |
| Italy IT | IT + 11 digits | IT00743110157 | P.IVA |
| Latvia LV | LV + 11 digits | LV40003521600 | PVN |
| Lithuania LT | LT + 9 digits (companies) or 12 digits | LT119511515 | PVM |
| Luxembourg LU | LU + 8 digits | LU26375245 | No. TVA |
| Malta MT | MT + 8 digits | MT11679112 | VAT |
| Netherlands NL | NL + 9 digits + B + 2 digits | NL004495445B01 | btw-id |
| Northern Ireland XI | XI + 9 digits (same number as GB, used for trade in goods with the EU) | XI980780684 | VRN |
| Poland PL | PL + 10 digits | PL8567346215 | NIP |
| Portugal PT | PT + 9 digits | PT501964843 | NIF |
| Romania RO | RO + 2 to 10 digits | RO18547290 | CIF |
| Slovakia SK | SK + 10 digits | SK2022749619 | IČ DPH |
| Slovenia SI | SI + 8 digits | SI50223054 | ID za DDV |
| Spain ES | ES + 9 characters: a letter or digit, 7 digits, a letter or digit | ESA13585625 | NIF |
| Sweden SE | SE + 10-digit organisation number + 01 | SE123456789701 | Momsnr. |
| United Kingdom GB | GB + 9 digits (12 for branches; GD/HA + 3 digits for government and health bodies) | GB980780684 | VRN |
Examples are checksum-valid numbers from the python-stdnum test data.
Frequently asked questions
How do I know if a VAT number is valid?
Check the format (country prefix, length), the check digit, and the registration with VIES (EU) or HMRC (UK). Only the registry check proves the number is active. The VAT number validator does all three.
Do VAT numbers always start with the country code?
Yes, in intra-EU trade the VAT number is written with its two-letter prefix (DE, FR, …). Greece uses EL instead of GR, and Northern Ireland uses XI for trade in goods with the EU.
Can I store VAT numbers without the prefix?
You can, but keep the country code next to it: the same digits can be a valid number in one country and invalid in another.
VAT validation API
Validate VAT numbers in your app
vatcheckapi checks the format and checksum of EU and UK VAT numbers and confirms the registration with VIES and HMRC, with company name and address where the country provides them.
Read the docs150 free validations every month. No credit card required.
GET https://api.vatcheckapi.com/v2/check?vat_number=LU26375245
{
"country_code": "LU",
"vat_number": "26375245",
"format_valid": true,
"checksum_valid": true,
"registration_info": {
"is_registered": true,
"name": "AMAZON EUROPE CORE S.A R.L.",
"address": "38, AVENUE JOHN F. KENNEDY\nL-1855 LUXEMBOURG",
"checked_at": "2023-01-11T12:30:28.000000Z"
}
}