This EU VAT number checker validates the format of a VAT number for all 27
EU member states, and additionally verifies the official check-digit formula for Dutch
numbers. Use it to catch typos before you submit a number to an invoice, contract, or the
EU's VIES lookup.
How to use it
Paste the VAT number with its two-letter country prefix (e.g. DE,
FR, NL) — spaces are ignored. The tool checks the number against
that country's published format: digit count, letter positions, and total length.
Format vs. checksum
A VAT number can be the right shape (format-valid) without being an actual, currently
registered business — the only way to know that is a live lookup against VIES, which
queries each country's tax authority in real time. This tool is a fast first-pass filter,
not a substitute for VIES before you rely on a number for an invoice or tax filing.
Why the format varies by country
Each EU member state assigns VAT numbers using its own internal numbering scheme built on
top of an EU-wide two-letter country prefix. Some encode a checksum (like the Netherlands,
which reuses its BSN/RSIN 11-proef formula), others don't publish one at all — which is why
a single one-size-fits-all validator can't safely check every country's checksum with equal
confidence.
Frequently asked questions
Does this replace checking VIES?
No. This tool checks format (and, for the Netherlands, the check-digit formula) so you can catch typos before you submit a number anywhere official. The only authoritative source for whether a VAT number is currently registered and active is the EU's VIES system (ec.europa.eu/taxation_customs/vies).
Why does it only verify a checksum for the Netherlands?
Several EU countries publish a documented check-digit algorithm, but getting one subtly wrong and reporting "valid" on a bad number is worse than not checking at all. Dutch company VAT numbers reuse the same 11-proef formula as the BSN, which this site already implements and trusts. Other countries are format-checked only for now.
My Dutch VAT number fails the checksum — is the tool broken?
Not necessarily. Since 2020, Dutch sole traders (eenmanszaken) were issued new VAT numbers that are deliberately not derived from their BSN, using a different internal scheme the tax office has not published. Company VAT numbers still derive from the RSIN and will pass the 11-proef check.
What format should I paste the number in?
With or without the country prefix, and with or without spaces — e.g. "NL852416864B01" or "852416864 B01" both work. The tool strips spaces and uppercases letters automatically before checking.
Does this tool send my VAT number anywhere?
No. Everything runs client-side in JavaScript. Nothing is transmitted, logged, or stored.