Instantly TIN Validation – Syntax & Structure Checker
Check that a Tax Identification Number has the right shape for the country that issued it, before it goes into a CRS, DAC2 or FATCA filing. The check runs on the structure, not on a tax register.
Enter the number without separators unless the country’s format includes them — Finland and the Finnish legal form do. Greece is EL here, not GR.
28
Countries covered, for individuals and entities
55
Format rules in the reference tables below
€0
Free, no account and no subscription
0
Numbers stored or transmitted
What a Tax Identification Number is
A TIN is the identifier a tax administration assigns to a person or an entity. Each country builds it differently: a pure digit string in most, a checksum-bearing code in Italy, a date-derived number with a century character in Finland, a letter-prefixed code for Spanish entities.
It matters to you because automatic exchange of information runs on it. Under the Common Reporting Standard, DAC2 and FATCA, a reportable account carries the TIN of its holder and of its controlling persons, and the receiving administration matches on that number. A TIN with the wrong shape fails before anyone looks at the balance.
What this check proves, and what it does not
It proves the shape is right
The number has the length, the character classes and, where applicable, the positional constraints the country uses. That is what an XML schema validates.
It does not prove the TIN exists
No tax register is queried. A number can be perfectly formed and never have been issued to anyone.
It does not verify a check digit everywhere
Several countries embed a checksum — Italy, Spain, Belgium. Structure and checksum are different tests.
It does not say a TIN is required
Some jurisdictions do not issue TINs to all residents. The reporting rules provide for that case; a missing TIN is not always an error.
Why a TIN fails in a CRS or FATCA filing
These are the faults we see most often in real submissions.
| Cause | What is happening | |||
|---|---|---|---|---|
| Separators left in | A dash or a slash copied from a tax document. Most formats are a single unbroken block; Finland is the notable exception. | |||
| Greek country code | Reporting schemas use EL for Greece in some contexts and GR in others. Check which the receiving schema expects. | |||
| Wrong person type | An entity number validated against the individual format, or the reverse. Several countries use entirely different lengths for the two. | |||
| Spanish entity letter | A Spanish legal person needs its leading letter. Dropping it turns a valid NIF into an invalid one. | |||
| Finnish century character | The +, - or A between the date part and the serial is part of the number, not punctuation to be stripped. | |||
| Swedish short form | The ten-digit form omits the century. The twelve-digit form carries it, and the two are not interchangeable in a filing. | |||
| UK number confused | A National Insurance number and a Unique Taxpayer Reference are different things with different shapes. | |||
TIN formats by country
The structure each country uses, for individuals and for entities.
Natural persons
| Country | Code | Format | Example | Note |
|---|---|---|---|---|
| 🇧🇪 Belgium | BE | 11 digits | 12345678901 | Single block, no separators |
| 🇧🇬 Bulgaria | BG | 10 digits | 1234567890 | — |
| 🇨🇿 Czech Republic | CZ | 9 or 10 digits | 1234567890 | No slash sign |
| 🇩🇰 Denmark | DK | 10 digits | 1234567890 | No dash |
| 🇩🇪 Germany | DE | 11 digits | 12345678901 | No space |
| 🇪🇪 Estonia | EE | 11 digits | 12345678901 | No space |
| 🇮🇪 Ireland | IE | 7 digits + 1 or 2 letters | 1234567T | Letters unrestricted |
| 🇬🇷 Greece | EL | 9 digits | 123456789 | — |
| 🇪🇸 Spain | ES | 1 char + 7 digits + 1 letter | X1234567T | — |
| 🇫🇷 France | FR | 13 digits (0–3 first) | 0123456789012 | No space |
| 🇭🇷 Croatia | HR | 11 digits | 12345678901 | — |
| 🇮🇹 Italy | IT | Letters and digits (16 chars) | RSSMRA85T10A562S | — |
| 🇨🇾 Cyprus | CY | 8 digits + 1 uppercase letter | 02345678X | First digit 0 or 9 |
| 🇱🇻 Latvia | LV | 11 digits | 12345678901 | — |
| 🇱🇹 Lithuania | LT | 11 digits | 12345678901 | — |
| 🇱🇺 Luxembourg | LU | 13 digits | 1234567890123 | — |
| 🇭🇺 Hungary | HU | 10 digits | 1234567890 | — |
| 🇲🇹 Malta | MT | 7 digits + 1 letter, or 9 digits | 0000123M | Letter must be M, G, A, P, L, H, B or Z |
| 🇳🇱 Netherlands | NL | 9 digits | 123456789 | — |
| 🇦🇹 Austria | AT | 9 digits | 123456789 | No dash or slash |
| 🇵🇱 Poland | PL | 10 or 11 digits | 1234567890 | — |
| 🇵🇹 Portugal | PT | 9 digits | 123456789 | — |
| 🇷🇴 Romania | RO | 13 digits | 1234567890123 | — |
| 🇸🇮 Slovenia | SI | 8 digits | 12345678 | — |
| 🇸🇰 Slovakia | SK | 9 or 10 digits | 1234567890 | No slash |
| 🇫🇮 Finland | FI | 6 digits + separator + 3 digits + 1 char | 131052-308T | Century character: +, - or A |
| 🇸🇪 Sweden | SE | 10 or 12 digits | 196509231234 | No separators; 12-digit form includes the century |
| 🇬🇧 United Kingdom | UK | 10 digits, or 2 letters + 6 digits + 1 char | AB123456C | — |
Legal persons
| Country | Code | Format | Example | Note |
|---|---|---|---|---|
| 🇧🇪 Belgium | BE | 10 digits, starting with 0 | 0123456789 | No separators |
| 🇧🇬 Bulgaria | BG | 9, 10 (starting 307) or 13 digits | 3071234567 | UIC or BULSTAT |
| 🇨🇿 Czech Republic | CZ | CZ + 8 digits | CZ12345678 | — |
| 🇩🇰 Denmark | DK | DK + 8 digits | DK12345678 | No space |
| 🇪🇪 Estonia | EE | 8 digits | 12345678 | No space |
| 🇮🇪 Ireland | IE | 7 digits + 1 or 2 letters | 1234567T | — |
| 🇬🇷 Greece | EL | 9 digits | 123456789 | — |
| 🇪🇸 Spain | ES | 1 letter + 7 digits + 1 char | A1234567B | Legal entity letter required |
| 🇫🇷 France | FR | 9 digits | 123456789 | No space |
| 🇭🇷 Croatia | HR | 11 digits | 12345678901 | — |
| 🇮🇹 Italy | IT | 11 digits | 12345678901 | — |
| 🇨🇾 Cyprus | CY | 8 digits + 1 letter | 31234567X | First digit 1, 3, 4, 5 or 9 |
| 🇱🇻 Latvia | LV | 11 digits, optional LV prefix | LV12345678901 | No dash |
| 🇱🇹 Lithuania | LT | 9 digits | 123456789 | — |
| 🇱🇺 Luxembourg | LU | 11 digits | 12345678901 | — |
| 🇭🇺 Hungary | HU | 11 digits | 12345678901 | No dash |
| 🇲🇹 Malta | MT | 9 digits | 123456789 | — |
| 🇳🇱 Netherlands | NL | 9 digits | 123456789 | — |
| 🇦🇹 Austria | AT | 9 digits | 123456789 | No dash or slash |
| 🇵🇱 Poland | PL | 10 digits | 1234567890 | — |
| 🇵🇹 Portugal | PT | 9 digits | 123456789 | — |
| 🇷🇴 Romania | RO | 2 to 10 digits | 1234567890 | — |
| 🇸🇮 Slovenia | SI | 8 digits | 12345678 | — |
| 🇸🇰 Slovakia | SK | 10 digits | 1234567890 | — |
| 🇫🇮 Finland | FI | 7 digits + dash + 1 digit | 1234567-8 | — |
| 🇸🇪 Sweden | SE | 10 digits | 161234567890 | Usually dash separated; 12-digit form starts with 16 |
| 🇬🇧 United Kingdom | UK | 10 digits | 1234567890 | — |
The examples are illustrative shapes, not numbers issued to anyone. Germany does not appear in the legal-person table: entity identification there follows a different scheme.
Frequently asked questions
Does a valid result mean the TIN is real?
No. The check reads the structure only. It tells you the number could be a TIN for that country and that person type; it cannot tell you the tax administration ever issued it.
Which person type should I pick?
Natural for an individual, legal for a company, a fund or any other entity. Several countries use different lengths for the two, so the wrong choice produces a wrong verdict.
Why is Greece shown as EL?
EL is the code used for Greece in European tax and statistical contexts, including VIES. The ISO country code is GR. Reporting schemas differ on which they expect, so check the one you are filing into.
What if the account holder has no TIN?
Some jurisdictions do not issue TINs to all residents, and the CRS and FATCA schemas provide for a missing TIN. A blank is not automatically a defect; an incorrectly shaped number is.
Do you store the numbers I check?
No. The check runs in your browser and nothing is sent to Fund XP or kept anywhere.
Can you validate a whole file of TINs?
Our CRS and FATCA solutions validate every TIN in the file as you build it, together with the rest of the schema, and export a submission-ready XML.
Disclaimer
The formats above are provided for information. Tax administrations change their numbering schemes, and the authoritative description of each country’s TIN is published by that country’s administration through the European Commission’s TIN portal.
Fund XP is not affiliated with any tax administration. Verify anything with legal or filing consequences against the official source, or with your tax adviser.
Official sources
Validating one number at a time?
Our CRS and FATCA solutions check every TIN in your file against the schema as you build it, flag what will be rejected, and export the XML your administration expects.
