What is an EU VAT number?
A VAT identification number is issued by an EU member state to businesses that are registered for Value Added Tax. It starts with a two-letter country code (for example, BE for Belgium or EL for Greece), followed by a country-specific sequence of digits and sometimes letters. Tax authorities use it to track cross-border trade and refund claims, so mistakes on invoices, contracts, or procurement records can easily block a payment or trigger an audit.
What this tool actually checks
This checker runs three independent validations, all in your browser:
- Country code — the leading two letters must match an EU member state that takes part in the VAT scheme (including the special EL code used for Greece).
- Format — the remaining characters must match this tool’s country-specific format rules. Belgian input uses ten digits, Austrian input starts with U and eight digits, and Dutch input supports both the legacy numeric format and the alphanumeric format handled by the local checksum rules.
- Checksum — this tool implements local checks for Austria, Belgium, Denmark, Finland, France, Germany, Italy, Netherlands, Poland, Portugal, Spain and Sweden. Some formats, including French non-numeric keys, are left unchecked.
Passing means the supported local checks did not fail. An unchecked checksum is not a successful checksum check. This tool does not verify registration, ownership or whether a number is currently active.
Common things it catches
- Unsupported country codes, such as US or UK.
- Leading zeros trimmed by a spreadsheet, producing a number that is one digit too short.
- Spaces, dots, or dashes that an invoicing system pasted in — the tool normalizes them away and checks the result.
- The classic Greek GR versus VAT EL mix-up, which the format check rejects immediately.
What the result card shows
The result separates the country code, normalized number, expected format and checksum. “Not checked” means this tool does not implement that check or the check does not apply to the supplied format; it does not mean the algorithm is unpublished.
Privacy
Every check runs locally in your browser. Nothing is sent to a server or logged. Your last input is saved in your browser's local storage so it remains available after a page reload.