VAT Number Checker - EU VAT Format Validation

Check whether an EU VAT number (plus GB and CH) has a valid format, see the country and the normalized form, and validate up to 100 numbers at once. Free and instant, entirely in your browser: nothing is uploaded.

Format check

Valid format

CountryNL
NormalizedNL123456789B01

Format is valid. This is a syntax check only; use the EU VIES service to confirm registration.

This is a syntax check only: it verifies the number matches the official format for its country, but not that the number is actually registered. To confirm a VAT number is active, use the official EU VIES service. Supported prefixes: AT, BE, BG, CY, CZ, DE, DK, EE, EL, ES, FI, FR, HR, HU, IE, IT, LT, LU, LV, MT, NL, PL, PT, RO, SE, SI, SK, GB, CH.

EU VAT Number Formats and Why Validation Matters

Every EU country issues VAT identification numbers in its own format: a Dutch number looks like NL123456789B01 (country code, 9 characters, the letter B, and a 2-digit suffix), a German one is DE plus 9 digits, and a French number is FR plus a 2-character key and 9 digits. Greece uses the prefix EL rather than GR, and Northern Ireland traders still use GB-prefixed numbers for goods under the Windsor Framework. This checker knows the published format for all 27 EU member states plus GB and CH.

Format validation is the first line of defense in invoice processing. If a supplier's VAT number does not even match its country's pattern, it is either a typo or not a VAT number at all, and catching that before an invoice enters your accounting system is much cheaper than fixing it at the tax return stage. The bulk mode is built for exactly that: paste a column of up to 100 numbers from a spreadsheet, see which ones fail, and copy the results back as CSV.

A valid format does not mean the number is real. For intra-EU zero-rated (reverse charge) supplies, tax authorities expect you to verify that the buyer's VAT number is actually registered, and the only authoritative source for that is the European Commission's VIES service, which queries the national databases live. Best practice for recurring trade relationships is a format check on entry plus a VIES confirmation (with the consultation number saved as proof) before the first zero-rated invoice and periodically after that.

Everything here runs locally in your browser: the numbers you paste never leave your machine, which matters when you are checking a client list. For related workflows, the VAT Calculator on ToolForte adds or extracts VAT at any rate, the BTW Calculator covers the Dutch 21 and 9 percent rates specifically, and the IBAN tools help validate the bank details that usually sit next to the VAT number on an invoice.

How the VAT Number Checker Works

  1. 01Type or paste a VAT number starting with its 2-letter country code, like NL123456789B01 or DE123456789.
  2. 02The tool normalizes it (removes spaces, dots, and dashes) and checks it against the official format for that country.
  3. 03Switch to bulk mode to validate up to 100 numbers at once, one per line, straight from a spreadsheet column.
  4. 04Copy the bulk results as CSV, and use the official EU VIES service to confirm registration of valid-format numbers.

VAT Number Formats Across the EU

Every EU country has its own VAT number pattern: NL plus 10 characters and 2 digits for the Netherlands, DE plus 9 digits for Germany, FR plus a 2-character key and 9 digits for France, and IT plus 11 digits for Italy. Greece uses the prefix EL, and GB and CH formats are included for UK and Swiss trade. This checker validates syntax for all 27 EU member states plus GB and CH. A valid format is necessary but not sufficient: only the European Commission's VIES service can confirm a number is actually registered for intra-EU trade.

When to Use This Checker

Use it when onboarding a new supplier or customer, cleaning a CRM or accounting export, or preparing zero-rated intra-EU invoices where the buyer's VAT number must be correct. The bulk mode is built for checking a whole column of numbers before an audit or a data migration, and everything runs locally, so client data never leaves your browser.

Common Use Cases

Tips

  • For zero-rated intra-EU supplies, confirm the number in VIES and save the consultation number as proof.
  • Greek numbers start with EL, not GR, and Northern Ireland goods traders still use GB-prefixed numbers.
  • Paste straight from spreadsheets: spaces, dots, and dashes are stripped automatically before checking.

Frequently Asked Questions

Does a valid format mean the VAT number is real?
No. The format check confirms the number matches its country's official pattern, which catches typos and wrong-country numbers. Whether the number is actually registered to a business can only be confirmed via the EU's VIES service, which queries national tax databases live.
What does the Dutch VAT number format look like?
NL followed by 10 characters and 2 digits, for example NL123456789B01. Since 2020 Dutch sole traders have a VAT-id where the 9 leading characters are no longer their BSN, so the position after NL can contain letters and symbols in the official pattern.
How many numbers can I check at once?
Up to 100 per run in bulk mode, one per line. Spaces, dots, and dashes are stripped automatically, so you can paste directly from invoices or spreadsheets. The results table shows input, detected country, normalized form, and format validity, and copies out as CSV.
Why does Greece use EL instead of GR?
For VAT purposes Greece has always used the prefix EL (from Ellada), so a Greek VAT number reads EL plus 9 digits. Entering GR will be flagged as an unknown prefix; replace it with EL before checking or invoicing.
Is my data uploaded anywhere?
No. The validation runs entirely in your browser with local pattern matching; no VAT number you type or paste is sent to any server. For the registration check you then visit the official VIES site yourself.

Related tools

12 suggested