Independent reference utility

EU VAT Number Validator — format, checksum, and diagnostics

Built for accounts payable, procurement, and developers who need answers when VIES is down. VAT-Scan checks format and control digits for all 27 EU members entirely in your browser — no server, no account, no data sent anywhere.

What this tool does

  • Normalises input and detects the country prefix
  • Validates against official format rules for all 27 EU members
  • Runs checksum algorithms for DE, FR, IT, ES, NL, BE, PL, SE, AT
  • Explains why a number passes or fails
  • Links to VIES for live registration status

What this tool does not do

  • Does not confirm legal registration or trading status
  • Does not provide tax or legal advice
  • Does not store your input or make server calls
  • Does not represent the European Commission
Works offline No data leaves your device 9 countries with checksums Verify active status via VIES
Official verification: Format and checksum checks catch transcription errors. To confirm that a VAT number is currently active, use VIES (European Commission) →
No server calls No data stored Works offline

Quick format check

Structural validation only. Use the full validator for checksum and diagnostics.

Spaces, dots, slashes and hyphens are ignored automatically.

Example: enter DE811994048 to see a valid German number with full checksum pass.

27
EU members covered
9
Checksum algorithms
0
Server calls made
100%
Client-side processing
What's included
Tool

Full VAT validator

Normalization, prefix detection, regex format check, and checksum evaluation with full diagnostics. Tells you why a number passes or fails.

Checksum Entity type Diagnostics
Reference

Open VAT format database

Structured table covering all 27 EU members: ISO code, prefix, regex pattern, checksum classification, and official authority link.

JSON-LD dataset Regex ISO codes
Documentation

Checksum methodology

Plain-language documentation of the actual maths: MOD97, Luhn variants, ISO 7064, and weighted sum algorithms used by EU tax authorities.

MOD97 Luhn ISO 7064
Country guides

Deep-dive format guides for major EU economies — authority links, entity types, invoice placement, and common mistakes.

Why do VAT validations fail?

Understanding the difference between these failure types prevents hours of confusion when integrating VAT checks into business workflows.

Invalid format

The number doesn't match the expected pattern for its country prefix. Common causes: wrong digit count, illegal characters, or a missing prefix altogether. Example: DE12345678 has only 8 digits after DE — it needs 9.

Checksum failure

The number looks structurally valid but the control digit doesn't match what the algorithm expects. This almost always means a transcription error — one digit has been entered incorrectly. The number itself may never have existed.

VIES reports inactive

The number passes all format and checksum tests, but VIES reports it as inactive or unknown. This means the business has deregistered, the number was never registered for intra-EU trade, or VIES is experiencing its well-documented downtime.

VIES is unavailable

VIES goes offline regularly, especially overnight CET and during EU public holidays. A failed VIES lookup does not mean a number is invalid — it means you should retry later. Format and checksum checks (what VAT-Scan does) always work locally.

No checksum for this country

Not every EU country publishes its checksum algorithm. Countries like Bulgaria, Cyprus, and Romania use proprietary or unpublished control logic. VAT-Scan performs structural validation and tells you honestly when a checksum isn't available.

Format vs. registration status

A VAT number can be perfectly formatted and pass its checksum — yet belong to a company that has since deregistered. Format validation and registration status are two completely separate things. Always use VIES for the final authority check.

How VAT-Scan works

When you enter a VAT number, VAT-Scan runs entirely in your browser — no request is made to any server. The validation engine goes through four steps:

  1. Normalise: strip spaces, dots, dashes, and slashes. Uppercase all letters. Handle the GR/EL alias for Greece.
  2. Detect prefix: read the first two characters to identify the country. If the prefix isn't a recognised EU member state, the check stops here.
  3. Format check: test against the country's regex pattern — digit count, allowed character positions, required suffixes (like the Dutch "B" separator).
  4. Checksum: for the nine countries where the algorithm is published (DE, FR, IT, ES, NL, BE, PL, SE, AT), run the control digit calculation and compare it to the number provided.

The result tells you which step passed or failed, and why. No black box.

Checksum coverage

CountryAlgorithmStatus
DE GermanyISO 7064 MOD 11,10✓ Full
FR FranceMOD97 numeric key✓ Full*
IT ItalyPartita IVA (Luhn)✓ Full
ES SpainNIF/NIE MOD23, CIF✓ Full
NL NetherlandsElfproef (11-check)✓ Full
BE BelgiumMOD97✓ Full
PL PolandWeighted MOD11✓ Full
SE SwedenLuhn (organisationsnr)✓ Full
AT AustriaWeighted MOD11✓ Full

* FR checksum applies when the two-character key is numeric. Alphanumeric keys receive structural validation only.

Frequently asked questions
Is VAT-Scan free to use?
Yes, completely free. There is no account, no subscription, and no charge. The site is supported by advertising.
Does VAT-Scan send my VAT numbers to a server?
No. The entire validation engine runs in your browser. No data is transmitted to any server, no logs are kept, and the tool works fully offline for format and checksum checks.
Why does VIES keep timing out?
VIES has known reliability issues — scheduled and unscheduled maintenance windows, particularly overnight CET and during EU public holidays. A VIES timeout does not mean the number is invalid. Use VAT-Scan for format and checksum checks while VIES is down, then confirm active registration on VIES when it recovers.
What is the difference between a format check and a checksum check?
A format check verifies the number matches the expected pattern — correct length, allowed characters, required prefix. A checksum runs a mathematical algorithm (MOD97, Luhn, etc.) to verify the control digit is consistent with the other digits. A number can pass the format check but fail the checksum if even one digit was mistyped.
Which EU countries have checksum validation?
Full checksum algorithms are implemented for Germany (ISO 7064 MOD 11,10), France (MOD97), Italy (Partita IVA Luhn), Spain (NIF/NIE MOD23 and CIF weighted), Netherlands (Elfproef 11-check), Belgium (MOD97), Poland (Weighted MOD11), Sweden (Luhn on organisationsnummer), and Austria (Weighted MOD11). All remaining 18 EU members receive structural format validation.
Can VAT-Scan confirm whether a business is actively registered?
No. VAT-Scan validates format and checksum only. A number that passes both is correctly structured, but the business may have since deregistered. For active registration status, use VIES (European Commission).
Why does a number pass here but fail in VIES?
Format and registration status are separate things. A correctly structured number with a valid checksum may belong to a business that has deregistered, was never registered for intra-EU trade, or whose record hasn't yet propagated across VIES databases. Always treat VIES as the authoritative source for active registration.
What does "no checksum available" mean?
Not every EU country publishes its checksum algorithm. For countries including Bulgaria, Cyprus, Estonia, and Romania, the control digit logic is proprietary or undocumented. VAT-Scan clearly states when a checksum cannot be run — rather than silently skipping it.