Home🇮🇹 ItalyCodice Fiscale

Codice Fiscale generator (Italy)

An Italian Codice Fiscale is a 16-character alphanumeric tax code derived from name, date of birth, sex, and place of birth, ending in a check character. These test values have a valid check character but are synthetic.

Synthetic · not collision-guaranteed Validate a number →
ANZZHP72H68L488U

Synthetic Codice Fiscale (valid check character). The code is derived from personal data, so use only for testing.

Format specification

IdentifierCodice Fiscale
Country🇮🇹 Italy
FormatAAAAAA00A00A000A
Length16 characters
ChecksumCF check character
ExampleHYCJRI30L51Z442A
Safe strategy Synthetic
Data qualityVerified against sources

Codice Fiscale: what each part means

AAAAAA Three consonants of the surname, then three of the first name (vowels fill in when a name is short). Test values use random letters here.
00 Last two digits of the year of birth.
A Month of birth as a letter: A=Jan, B=Feb, C=Mar, D=Apr, E=May, H=Jun, L=Jul, M=Aug, P=Sep, R=Oct, S=Nov, T=Dec.
00 Day of birth, 01–31 — with 40 added for women (so 41–71 means a woman born on day 1–31).
A000 Belfiore code of the place of birth: one letter and three digits identifying the Italian comune (or a Z-code for foreign countries).
A Check character, computed from the first 15 characters via the official odd/even position tables, modulo 26.

Validation regex

Matches the canonical value — strip separators and uppercase first: value.replace(/[^A-Za-z0-9]/g, '').toUpperCase()

^[A-Z]{6}\d{2}[A-Z]\d{2}[A-Z]\d{3}[A-Z]$

References

  1. en.wikipedia.org/wiki/Italian_fiscal_code

Common questions

Will these pass my validation?

Yes — they are well-formed Codice Fiscale values (AAAAAA00A00A000A) and pass standard format checks, including the CF check character checksum.

Could one belong to a real person?

These are synthetic values. They are format-valid but not drawn from a guaranteed reserved range, so use them only for testing.

Can I generate many at once?

Increase the count, or use the free API and CSV/JSON export for large datasets.

Validate an existing number →

For software testing only. These numbers are synthetic and must never be used for real-world identification, applications, or to impersonate anyone.