Skip to content
Language: EN

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.

Validate a TIN Syntax and structure

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.

CauseWhat is happening
Separators left inA dash or a slash copied from a tax document. Most formats are a single unbroken block; Finland is the notable exception.
Greek country codeReporting schemas use EL for Greece in some contexts and GR in others. Check which the receiving schema expects.
Wrong person typeAn entity number validated against the individual format, or the reverse. Several countries use entirely different lengths for the two.
Spanish entity letterA Spanish legal person needs its leading letter. Dropping it turns a valid NIF into an invalid one.
Finnish century characterThe +, - or A between the date part and the serial is part of the number, not punctuation to be stripped.
Swedish short formThe ten-digit form omits the century. The twelve-digit form carries it, and the two are not interchangeable in a filing.
UK number confusedA 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

CountryCodeFormatExampleNote
🇧🇪 BelgiumBE11 digits12345678901Single block, no separators
🇧🇬 BulgariaBG10 digits1234567890—
🇨🇿 Czech RepublicCZ9 or 10 digits1234567890No slash sign
🇩🇰 DenmarkDK10 digits1234567890No dash
🇩🇪 GermanyDE11 digits12345678901No space
🇪🇪 EstoniaEE11 digits12345678901No space
🇮🇪 IrelandIE7 digits + 1 or 2 letters1234567TLetters unrestricted
🇬🇷 GreeceEL9 digits123456789—
🇪🇸 SpainES1 char + 7 digits + 1 letterX1234567T—
🇫🇷 FranceFR13 digits (0–3 first)0123456789012No space
🇭🇷 CroatiaHR11 digits12345678901—
🇮🇹 ItalyITLetters and digits (16 chars)RSSMRA85T10A562S—
🇨🇾 CyprusCY8 digits + 1 uppercase letter02345678XFirst digit 0 or 9
🇱🇻 LatviaLV11 digits12345678901—
🇱🇹 LithuaniaLT11 digits12345678901—
🇱🇺 LuxembourgLU13 digits1234567890123—
🇭🇺 HungaryHU10 digits1234567890—
🇲🇹 MaltaMT7 digits + 1 letter, or 9 digits0000123MLetter must be M, G, A, P, L, H, B or Z
🇳🇱 NetherlandsNL9 digits123456789—
🇦🇹 AustriaAT9 digits123456789No dash or slash
🇵🇱 PolandPL10 or 11 digits1234567890—
🇵🇹 PortugalPT9 digits123456789—
🇷🇴 RomaniaRO13 digits1234567890123—
🇸🇮 SloveniaSI8 digits12345678—
🇸🇰 SlovakiaSK9 or 10 digits1234567890No slash
🇫🇮 FinlandFI6 digits + separator + 3 digits + 1 char131052-308TCentury character: +, - or A
🇸🇪 SwedenSE10 or 12 digits196509231234No separators; 12-digit form includes the century
🇬🇧 United KingdomUK10 digits, or 2 letters + 6 digits + 1 charAB123456C—

Legal persons

CountryCodeFormatExampleNote
🇧🇪 BelgiumBE10 digits, starting with 00123456789No separators
🇧🇬 BulgariaBG9, 10 (starting 307) or 13 digits3071234567UIC or BULSTAT
🇨🇿 Czech RepublicCZCZ + 8 digitsCZ12345678—
🇩🇰 DenmarkDKDK + 8 digitsDK12345678No space
🇪🇪 EstoniaEE8 digits12345678No space
🇮🇪 IrelandIE7 digits + 1 or 2 letters1234567T—
🇬🇷 GreeceEL9 digits123456789—
🇪🇸 SpainES1 letter + 7 digits + 1 charA1234567BLegal entity letter required
🇫🇷 FranceFR9 digits123456789No space
🇭🇷 CroatiaHR11 digits12345678901—
🇮🇹 ItalyIT11 digits12345678901—
🇨🇾 CyprusCY8 digits + 1 letter31234567XFirst digit 1, 3, 4, 5 or 9
🇱🇻 LatviaLV11 digits, optional LV prefixLV12345678901No dash
🇱🇹 LithuaniaLT9 digits123456789—
🇱🇺 LuxembourgLU11 digits12345678901—
🇭🇺 HungaryHU11 digits12345678901No dash
🇲🇹 MaltaMT9 digits123456789—
🇳🇱 NetherlandsNL9 digits123456789—
🇦🇹 AustriaAT9 digits123456789No dash or slash
🇵🇱 PolandPL10 digits1234567890—
🇵🇹 PortugalPT9 digits123456789—
🇷🇴 RomaniaRO2 to 10 digits1234567890—
🇸🇮 SloveniaSI8 digits12345678—
🇸🇰 SlovakiaSK10 digits1234567890—
🇫🇮 FinlandFI7 digits + dash + 1 digit1234567-8—
🇸🇪 SwedenSE10 digits161234567890Usually dash separated; 12-digit form starts with 16
🇬🇧 United KingdomUK10 digits1234567890—

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.

Contact us