VAT Number Validator

Paste a VAT number to validate its country format.

How it is calculated

Spaces, hyphens and dots are removed and letters are made uppercase. The first two characters are read as the country prefix and the rest as the body, which is then tested against a fixed pattern. Only five countries are known: DE (9 digits), FR (2 letters or digits + 9 digits), IT (11 digits), ES (any 9 letters or digits) and NL (9 digits + B + 2 digits). A number from any other country, even a real EU one such as BE or PL, is reported as invalid with an unrecognized prefix.

For Germany the tool also runs the ISO 7064 MOD 11,10 check on the first eight digits: p = 10; for each digit: m = (digit + p) mod 10, with 0 taken as 10; p = 2m mod 11, and the check digit is (11 − p) mod 10. A German number whose last digit does not match is still marked as valid format, with a note that the check digit does not match. Nothing is looked up in VIES or any tax register.

Worked example

Input DE136695976. The prefix DE means Germany; the body 136695976 has exactly 9 digits, so the format passes. Checksum on the first eight digits 1,3,6,6,9,5,9,7: starting with p = 10, the running value p becomes 2, 10, 1, 3, 4, 7, 1 and finally 5. The check digit is (11 − 5) mod 10 = 6, which equals the ninth digit. The tool reports Valid format for Germany (DE) with Germany: 9 digits, checksum OK. That only shows the shape and checksum are consistent, not that the number is registered to anyone.

Try this example →

Common mistakes

  • Treating “Valid format” as proof that the company is registered. The tool never contacts a registry, so a correctly shaped number can still be unassigned, cancelled or belong to someone else.
  • Entering a VAT number from a country outside DE, FR, IT, ES and NL. It is shown as invalid with an unrecognized prefix even though the number may be perfectly good, so use the official EU VIES service for those.
  • Omitting the country prefix, as in 136695976 alone. The first two characters must be the prefix, so the tool reports an unrecognized prefix and cannot work out the country.
  • Ignoring the checksum note on a German number. DE136695977, for example, passes as a format but reports that the check digit does not match, which is a typical typing or transcription error.
  • Expecting stricter Spanish or French rules. The tool only checks length and allowed characters there, so a random 9-character string after ES still passes.

About this calculator

An EU VAT number pairs a two-letter country prefix with a digit sequence of a fixed length set by each member state’s tax authority — for example Germany’s DE followed by 9 digits, France’s FR with 2 characters plus 9 digits, Italy’s IT with 11 digits, Spain’s ES with 9 letters or digits, and the Netherlands’ NL with 9 digits, “B”, and 2 more digits. Only these five countries are supported; any other prefix is reported as unrecognized. Germany’s number additionally carries a checksum computed with the ISO 7064 MOD 11-10 algorithm; the result tells you whether it matches, but a German number with the right 9-digit shape still counts as a valid format.

Businesses trading across EU borders must quote a valid VAT number to apply the reverse-charge mechanism and zero-rate intra-community supplies, so accountants, bookkeepers and invoicing systems routinely check that a supplied number matches the expected shape for its country before accepting it. This tool checks format and length only — it does not query VIES or any live tax registry to confirm the number is actually registered.

Was this helpful?

You can pick up to 3 reactions.

Comments

  • Be the first to comment.

Popular calculators

All Calculators