Generadores de datos de prueba de Italia
El codice fiscale de dieciséis caracteres, construido a partir del apellido, el nombre, la fecha y el comune de nacimiento, y la partita IVA de once dígitos.
100 % privado. No hay servidor: los datos se generan en tu navegador y no se envían ni se guardan en ninguna parte.
Los dos identificadores fiscales italianos
El codice fiscale no es un número aleatorio: es una codificación de la persona. Tres consonantes del apellido, tres del nombre, el año, una letra para el mes, el día —con cuarenta sumado si es mujer—, el código catastral del comune y un carácter de control calculado sobre los quince anteriores con dos tablas distintas según la posición.
La partita IVA son once dígitos: siete identifican al contribuyente, tres la
oficina provincial y el último es un control tipo Luhn. Está verificada con la partita IVA
pública de la RAI, 06382641006, cuyo control sale exactamente 6.
El detalle completo del codice fiscale, posición por posición, está en su ficha.
La tabla de los meses, que casi nadie acierta
El noveno carácter del codice fiscale es una letra que representa el mes de nacimiento, y no sigue el alfabeto. Se saltan las letras que se confunden con otras o que ya tienen otro uso, así que hay que memorizarla o copiarla:
| Mes | Letra | Mes | Letra |
|---|---|---|---|
| Enero | A | Julio | L |
| Febrero | B | Agosto | M |
| Marzo | C | Septiembre | P |
| Abril | D | Octubre | R |
| Mayo | E | Noviembre | S |
| Junio | H | Diciembre | T |
Si alguien implementó los meses de la A a la L en orden, junio le sale F en vez de
H y agosto H en vez de M. Genera códigos de esos dos
meses y lo verás caer.
La omocodia: el caso borde que no conoce nadie
Cuando dos personas distintas generan el mismo codice fiscale —mismo apellido, mismo nombre,
misma fecha y mismo comune—, Italia resuelve el choque con la omocodia:
sustituye, empezando por la derecha, los dígitos del código por letras según una tabla fija
(0→L, 1→M, 2→N, 3→P, 4→Q,
5→R, 6→S, 7→T, 8→U, 9→V), y
recalcula el carácter de control.
Es decir: existen codici fiscali válidos con letras donde tu expresión regular espera
dígitos. Si validas con ^[A-Z]{6}\d{2}[A-Z]\d{2}[A-Z]\d{3}[A-Z]$
rechazarás a personas reales. La forma correcta de validar es calcular el carácter de control,
no describir el patrón.
Validar un codice fiscale de verdad
const PAR = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
const IMPAR = { "0":1,"1":0,"2":5,"3":7,"4":9,"5":13,"6":15,"7":17,"8":19,"9":21,
A:1,B:0,C:5,D:7,E:9,F:13,G:15,H:17,I:19,J:21,K:2,L:4,M:18,N:20,O:11,
P:3,Q:6,R:8,S:12,T:14,U:16,V:10,W:22,X:25,Y:24,Z:23 };
function codiceValido(cf) {
const c = cf.toUpperCase().trim();
if (!/^[A-Z0-9]{16}$/.test(c)) return false;
let suma = 0;
for (let i = 0; i < 15; i++) {
if (i % 2 === 0) suma += IMPAR[c[i]];
else { const v = PAR.indexOf(c[i]); suma += v >= 10 ? v - 10 : v; }
}
return String.fromCharCode(65 + (suma % 26)) === c[15];
}
Esta función acepta correctamente los códigos con omocodia, porque no impone un patrón de
dígitos: solo comprueba que el carácter de control cuadre. Verifícala con
RSSMRA85T10A562S, el ejemplo documentado de la norma.
Y la partita IVA
Once dígitos: siete identifican al contribuyente, tres la oficina provincial que lo dio de
alta y el último es un control tipo Luhn. Para operaciones dentro de la Unión Europea se
escribe con el prefijo IT delante, y esa es la forma en la que la verifica el
sistema VIES. La herramienta genera las dos variantes, nacional e intracomunitaria, porque
muchos formularios de facturación aceptan una y rechazan la otra.
Nacidos fuera de Italia: los códigos que empiezan por Z
Los cuatro caracteres del comune —el código Belfiore— tienen una variante que casi ninguna herramienta contempla: cuando la persona nació en el extranjero, en esa posición no va un municipio italiano sino un código de país que empieza por Z.
Eso significa que hay codici fiscali perfectamente válidos cuya posición 12 es una
Z, y que corresponden a italianos nacidos fuera o a extranjeros residentes en
Italia. Si tu validación comprueba que el código catastral está en una lista de municipios,
rechazarás a toda esa población. Es el mismo tipo de error que rechazar un NIE en un campo de
DNI español.
Esta herramienta genera códigos con comuni italianos reales —los once que hemos podido verificar— y no con códigos de país, porque preferimos no publicar una tabla que no hayamos comprobado. Pero conviene que lo sepas para tus casos de prueba: si tu aplicación va a recibir residentes extranjeros, necesitas al menos un caso con Z en esa posición, y tendrás que construirlo a mano.
Qué identificador pide cada formulario italiano
Italia tiene varios números y los formularios los piden mezclados, a veces con nombres confusos. Esta es la correspondencia práctica:
| Si el formulario pide… | Espera | Formato |
|---|---|---|
| Codice fiscale a una persona | El código personal | 16 caracteres alfanuméricos |
| Codice fiscale a una empresa | El de la entidad, que suele coincidir con su partita IVA | 11 dígitos |
| Partita IVA | El número de IVA | 11 dígitos |
| Partita IVA para facturar en la UE | El mismo con prefijo de país | IT + 11 dígitos |
| Tessera sanitaria | La tarjeta sanitaria, que lleva impreso el codice fiscale | 16 caracteres, los mismos |
La fila que más problemas causa es la segunda: el codice fiscale de una empresa italiana son once dígitos, no dieciséis. Un campo que exija dieciséis caracteres bloquea a todas las empresas del país. Es el fallo italiano equivalente a rechazar un CIF español con letra de control.
Y un detalle útil sobre la tessera sanitaria: no es un número distinto. Es la tarjeta física del sistema de salud, y el número que lleva impreso es el codice fiscale. Si un usuario te dice que va a darte «el número de su tessera», te va a dar su codice fiscale.
Preguntas frecuentes
Sobre estos generadores
¿Puedo calcular el codice fiscale de un nombre concreto?
Sí: escribes apellido, nombre, sexo, fecha y comune, y sale el código de esos datos. Con Rossi, Mario, 1985-12-10 y Arezzo obtienes RSSMRA85T10A562S, el ejemplo documentado de la norma.
¿Por qué en las mujeres el día pasa de 31?
Porque la norma suma 40 al día de nacimiento en los códigos de mujer. Es así como el propio código distingue el sexo.
¿La partita IVA es válida?
En formato sí: los once dígitos llevan el control correcto. No está registrada en la Agenzia delle Entrate.