VAT Number Validator - Offline Format & Check Digit Verification
Verify a VAT number's length, country code prefix, and check digit entirely offline in your browser. Covers all 27 EU member states plus the UK (28 countries) so you can spot typos instantly.
Supported countries (28)
Format (length & character set) and whether a check digit algorithm is supported for each country. Countries marked "Not supported" are checked by format only.
| Country | Code | Format | Check digit support |
|---|---|---|---|
| Austria | AT |
"U" + 8 digits | Supported |
| Belgium | BE |
10 digits (starts with 0 or 1) | Supported |
| Bulgaria | BG |
9 or 10 digits | Not supported |
| Cyprus | CY |
8 digits + 1 letter | Not supported |
| Czech Republic | CZ |
8 to 10 digits | Not supported |
| Germany | DE |
9 digits | Supported |
| Denmark | DK |
8 digits | Supported |
| Estonia | EE |
9 digits | Not supported |
| Greece | EL |
9 digits | Not supported |
| Spain | ES |
1 alphanumeric + 7 digits + 1 alphanumeric | Not supported |
| Finland | FI |
8 digits | Supported |
| France | FR |
2 alphanumeric + 9 digits | Supported |
| United Kingdom | GB |
9 digits (optionally + 3-digit branch) | Supported |
| Croatia | HR |
11 digits | Supported |
| Hungary | HU |
8 digits | Not supported |
| Ireland | IE |
7 digits + 1-2 letters, etc. | Not supported |
| Italy | IT |
11 digits | Supported |
| Lithuania | LT |
9 or 12 digits | Not supported |
| Luxembourg | LU |
8 digits | Supported |
| Latvia | LV |
11 digits | Not supported |
| Malta | MT |
8 digits | Not supported |
| Netherlands | NL |
9 digits + "B" + 2 digits | Supported |
| Poland | PL |
10 digits | Supported |
| Portugal | PT |
9 digits | Supported |
| Romania | RO |
2 to 10 digits | Not supported |
| Sweden | SE |
12 digits (ends with "01") | Supported |
| Slovenia | SI |
8 digits | Not supported |
| Slovakia | SK |
10 digits | Supported |
What is a VAT number validator?
A VAT (Value Added Tax) number is a registration number assigned to taxable businesses in the EU and several other countries. When you receive a VAT number from an overseas business partner on an invoice or in an email, it helps to quickly check whether the number itself is correctly formatted before querying an official EU database such as VIES. This tool uses each country's publicly documented check digit algorithm to verify three things entirely in your browser: the length, the country code prefix, and the check digit.
The number you enter and the result are never sent to a server; every calculation happens locally in JavaScript. Keep in mind that this tool can only tell you whether a number is structurally valid — it cannot confirm whether the business is actually VAT-registered or whether that registration is still active. For that, please also use an official service such as VIES (VAT Information Exchange System).
How to use the VAT number validator
- Enter a VAT number Type the VAT number starting with its country code (e.g. DE, GB). Spaces and dashes are stripped automatically.
- Check the detected country The first two characters are used to automatically detect the country. If it is not recognized, "Unrecognized country code" is shown.
- Review the format and check digit results The tool shows whether the length/format is valid and whether the check digit matches. For some countries the check digit algorithm is not publicly documented, so only the format is checked.
Tips for getting more out of it
- You can paste a number that includes spaces or dashes as-is; they are removed automatically before validation.
- A "Not supported" check digit result does not mean the number is invalid — it just means the algorithm for that country is not publicly documented or varies by legal entity type, so only the format was checked.
- Some French VAT numbers use letters in the first two characters instead of digits. In that case the check digit formula cannot be applied, so only the format is checked.
- Treat the result as a reference only. For contracts, invoicing, or other important transactions, always prioritize the result from an official database such as VIES.
When a VAT number check comes in handy
Catching typos in a VAT number from an overseas partner
Quickly confirm there are no missing or transposed digits when copying a VAT number from an invoice or email.
Pre-checking before issuing an invoice
Before applying a reverse charge (where the buyer, not the seller, accounts for VAT) on a B2B transaction, you can check that your counterparty's VAT number is at least correctly formatted.
A first-pass check for accounting and trade teams handling many VAT numbers
A quick way to filter out obvious input errors before running an official VIES lookup.
Double-checking your own VAT number before printing it on an invoice
Confirm the length and format are correct when adding your own VAT number to a new invoice template.
Related terms
- VAT number (VAT ID)
- A registration number showing that a business is a VAT-taxable entity. It consists of a country code prefix followed by a country-specific number of digits.
- Check digit
- An extra digit added at a fixed position to catch data-entry errors. It is validated by comparing it against a value derived from the other digits using a defined formula.
- VIES
- Short for VAT Information Exchange System, the European Commission's official database for checking in real time whether a member state's VAT number is actually registered.
- Reverse charge
- A mechanism used in B2B transactions within the EU where the buyer, rather than the seller, accounts for and pays VAT in their own country. Applying it requires confirming the counterparty's valid VAT number.
- Country code prefix
- The two-letter code at the start of a VAT number that identifies the registering country. Most match the ISO 3166 country code, with exceptions such as Greece (EL) and the United Kingdom (GB).
Frequently asked questions
Side Note — the check digit hidden inside a VAT number
The check digit tucked into the end (or another fixed position) of a VAT number is the same basic idea used in postal codes, ISBNs, and credit card numbers: a "verification digit" designed to catch the kind of single-digit typo or transposed pair of digits that people commonly make when typing or copying a number by hand, without needing a full lookup.
What makes it interesting is that even among EU member states, the calculation method varies widely from country to country. Germany and Croatia both use the ISO 7064 MOD 11,10 international standard, the UK uses its own modulus-97 scheme dating back to the 1970s, and Poland and Finland each use a modulus-11 scheme with a different set of digit weights. It seems that when the EU harmonized its VAT system, preserving continuity with each country's pre-existing business registration systems took priority over standardizing the check digit formula itself.
Because of this, the EU's official VIES lookup service itself works in two stages: it first runs a quick per-country format and check digit test before actually querying the registration database. What this tool performs corresponds to exactly that first stage — a check of structural plausibility. The final call on whether a number is actually registered always has to be left to the official database.