Developer Tools
VAT Number Validator
Validate VAT identification numbers for every EU country plus the UK and Northern Ireland in your browser. Per-country format and check-digit rules. No signup.
Spaces, dots, dashes, and slashes are ignored. Letters are uppercased. Validation runs locally; the VAT number you paste here never leaves your browser.
Sample VAT numbers (click to load)
Result
Valid VAT number
Country
DE - Germany
Formatted
DE 1366 9597 6
Compact
DE136695976
Country prefix
DE
Body
136695976
Valid Germany VAT number format and check digit. Always confirm against VIES (EU) or HMRC (UK) before relying on it for a reverse-charge invoice.
Check details
Format matches Germany pattern.
9 digits.
Check digit passes.
Germany 9-digit Modulus 11,10 check.
Country format reference
- Prefix
- DE
- Pattern
- 9 digits.
- Example
- DE123456789
- Member of
- EU VAT area
How the check works
- 1. Strip spaces, dots, dashes, and slashes, then uppercase the result. Split off the first two characters as the country prefix and treat the rest as the body.
- 2. Look up the country in the European Commission VAT format registry. Greece uses EL (not GR), and Northern Ireland uses XI. Each country has a fixed length and structure.
- 3. Run the published per-country check-digit algorithm: Modulus 11,10 (Germany, Croatia), weighted mod 11 (Greece, Portugal, Slovenia, Finland), Luhn (Sweden, Italy), mod 23 letter (Ireland), mod 89 (Luxembourg), mod 97 (Belgium, UK), and so on. Where a country has no public algorithm, the format check stands alone.
- 4. A passing format and check digit prove the VAT number is well-formed. They do not prove that the company exists or that it is currently registered. Always confirm with the EU VIES database or the UK HMRC service before relying on a number for a reverse-charge invoice.
How to use
- Pick the mode: Single VAT number for a one-off check, or Batch list to validate many at once.
- Type or paste a VAT number including the 2-character country prefix (EL for Greece, XI for Northern Ireland). Spaces, dots, dashes, and slashes are ignored; letters are uppercased automatically.
- Read the result: green is a passing format and check digit; amber is a passing format with no public checksum for that subform; red is an invalid format or a failed check digit.
- Open the Check details panel to see exactly which step passed (format pattern, check-digit algorithm) and which step failed, with a country reference card showing the official format.
- In Batch mode, see the per-line verdict, the totals, and copy the passing list with one click for downstream use.
About this tool
VAT Number Validator runs the format and check-digit rules for every EU VAT identification number and the UK and Northern Ireland (XI) VAT numbers, so a freelancer, bookkeeper, or developer can sanity-check a VAT ID before sending an invoice, calling the EU VIES service, or storing it in a customer record. Each country in the EU and the UK publishes a fixed format for its VAT ID: Germany's 9 digits, France's 2-character key followed by a 9-digit SIREN, Italy's 11-digit Codice Fiscale-style number, Spain's NIF/NIE/CIF (with a final check letter for NIF and NIE and a check letter or digit for CIF), the Netherlands' 9 digits then B then 2 digits, Belgium's 10 digits where the first 8 mod 97 plus the last 2 must equal 0, Poland's 10-digit NIP with weighted mod 11, Portugal's 9 digits with the standard mod 11 check, Greece's EL prefix (not GR) with a powers-of-2 mod 11 check, Croatia's 11-digit OIB Modulus 11,10, Ireland's mod 23 check letter, the UK's HMRC mod 97 or mod 9755 check, and so on. The validator applies the country's regex first to catch the wrong length, the wrong character classes, missing letters, or a forgotten B in a Dutch number, then runs the published check-digit algorithm where one exists. The result panel shows a clear verdict (valid, format-only, or invalid), the country, the formatted and compact forms, the body, every check that ran with the reason it passed or failed, and a country reference card with the prefix, the format pattern, an example, and the country's EU/UK status. Batch mode validates one VAT number per line and counts how many passed, how many are format-only (no public checksum exists for that subform), and how many failed; a single click copies the passing list so a procurement or finance workflow can move on. Quick samples seed the input with the canonical examples from the European Commission documentation. Everything runs locally in your browser; the VAT numbers you type here are not uploaded, logged, or shared. A passing format and check digit prove a VAT number is well-formed; they do not prove the company exists or is currently registered, so always confirm a payment-bearing invoice against the EU VIES database or the UK HMRC VAT registration service before relying on it for reverse-charge.
Free to use. Works in your browser. No signup, no login.
Related tools
You may also like
IBAN Validator
Mod-97 checksum, country format check, and bank identifier extraction in one view.
Open tool
CalculatorVAT Calculator
Add VAT to a net price or reverse-calculate VAT from a gross total, with UK, EU, and GST presets.
Open tool
DeveloperCountry Code Lookup
Search 249 ISO 3166-1 country codes. Alpha-2, alpha-3, numeric, ccTLD, and flag.
Open tool
DeveloperCurrency Code Lookup
Search ISO 4217 alpha-3 codes, numeric codes, symbols, and decimals.
Open tool
DeveloperCredit Card Validator
Luhn checksum, brand detection, length rules, and public test card numbers in your browser.
Open tool
DeveloperISBN Validator
Validate ISBN-10 and ISBN-13 and convert between formats with verdicts and expected check digits.
Open tool
DeveloperEmail Validator
Validate, deduplicate, and clean lists of email addresses with typo suggestions.
Open tool
DeveloperIMEI Validator
Luhn check, TAC and serial breakdown, IMEISV support, and per-digit math in one view.
Open tool