Home
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.
Example: enter DE811994048 to see a valid German number with full checksum pass.
100%
Client-side processing
What's included
Tool
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
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
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:
- Normalise: strip spaces, dots, dashes, and slashes. Uppercase all letters. Handle the GR/EL alias for Greece.
- 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.
- Format check: test against the country's regex pattern — digit count, allowed character positions, required suffixes (like the Dutch "B" separator).
- 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
| Country | Algorithm | Status |
| DE Germany | ISO 7064 MOD 11,10 | ✓ Full |
| FR France | MOD97 numeric key | ✓ Full* |
| IT Italy | Partita IVA (Luhn) | ✓ Full |
| ES Spain | NIF/NIE MOD23, CIF | ✓ Full |
| NL Netherlands | Elfproef (11-check) | ✓ Full |
| BE Belgium | MOD97 | ✓ Full |
| PL Poland | Weighted MOD11 | ✓ Full |
| SE Sweden | Luhn (organisationsnr) | ✓ Full |
| AT Austria | Weighted 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.