Escribe los apellidos y el nombre, o déjalos en blanco
En blanco salen nombres mexicanos verosímiles. Escribiéndolos a mano puedes forzar los casos difíciles: una partícula, un nombre que empiece por María, un apellido con Ñ.
Dieciocho caracteres construidos con la regla oficial: las letras del apellido paterno, materno y nombre, la fecha, el sexo, la entidad de nacimiento y el dígito verificador. Válidas o deliberadamente rotas.
100 % privado. No hay servidor: los datos se generan en tu navegador y no se envían ni se guardan en ninguna parte.
Cómo funciona
En blanco salen nombres mexicanos verosímiles. Escribiéndolos a mano puedes forzar los casos difíciles: una partícula, un nombre que empiece por María, un apellido con Ñ.
La fecha importa más de lo que parece: a partir del año 2000 la posición 17 pasa de dígito a letra, y ahí se cae mucha validación.
El CSV trae la CURP, el titular, la fecha, la entidad con su clave y si se ha aplicado la regla de la palabra inconveniente.
La Clave Única de Registro de Población son dieciocho caracteres y ninguno es aleatorio salvo el antepenúltimo. Se reparten así:
| Posición | Qué es | Ejemplo |
|---|---|---|
| 1 | Inicial del apellido paterno | H |
| 2 | Primera vocal interna del apellido paterno | E |
| 3 | Inicial del apellido materno | G |
| 4 | Inicial del nombre | G |
| 5–10 | Fecha de nacimiento, año-mes-día | 560427 |
| 11 | Sexo: H o M | M |
| 12–13 | Entidad de nacimiento | VZ |
| 14–16 | Primera consonante interna de cada uno de los tres | RRL |
| 17 | Dígito o letra según el siglo | 0 |
| 18 | Dígito verificador | 4 |
El ejemplo de la tabla es HEGG560427MVZRRL04, el que publica el propio RENAPO, y es el que hemos usado para verificar esta herramienta: introduciendo los mismos datos devuelve exactamente esa cadena, carácter por carácter.
Fíjate en la palabra interna, que se pasa por alto constantemente: la vocal de
la posición 2 y las consonantes de la 14 a la 16 se buscan a partir de la segunda letra.
En «Hernández» la primera vocal interna es la E, no la A de más
adelante, y la primera consonante interna es la R, no la H inicial.
Los apellidos compuestos con partícula toman la inicial de la palabra
significativa. «De la Cruz» aporta la C de Cruz. La lista incluye
DE, DEL, LA, LAS, LOS,
Y, MC, MAC, VAN y VON, así que
«Mc Gregor» se trata como «Gregor».
Si el primer nombre es José o María y hay un segundo nombre,
la clave usa el segundo. «María Fernanda» aporta la F. No es un detalle menor:
son dos de los nombres más frecuentes de México, así que saltarse esta regla te rompe un
porcentaje alto de los casos reales.
Si las cuatro primeras letras forman una palabra malsonante, la segunda se sustituye
por X. La norma trae una lista cerrada con unas ochenta combinaciones: BUEI, CACA,
MEON, MULA, PENE, PUTO, RATA, TETA y demás. Alguien apellidado Buendía cuya clave saldría
BUEI acaba con BXEI.
A esas tres se añaden dos detalles: la Ñ se escribe X en las posiciones de letra, y si no hay apellido materno la tercera posición es X. En el generador puedes forzar ese caso escribiendo un guion en el campo del apellido materno.
Cierra la suma a la decena. Cada uno de los diecisiete primeros caracteres vale su posición en una tabla de treinta y siete símbolos —los dígitos, las letras y la Ñ— y se multiplica por su distancia al final:
const TABLA = "0123456789ABCDEFGHIJKLMNÑOPQRSTUVWXYZ";
function controlCurp(c17) {
let suma = 0;
for (let i = 0; i < 17; i++) {
suma += TABLA.indexOf(c17[i]) * (18 - i);
}
return (10 - suma % 10) % 10;
}
controlCurp("HEGG560427MVZRRL0") // 4
La Ñ está dentro de la tabla, entre la N y la O, y desplaza el valor de todas las letras posteriores. Es un detalle fácil de perder si copias una tabla de 36 caracteres de otro algoritmo: te dará un verificador incorrecto solo en las claves que contengan Ñ, que son pocas, así que el fallo tarda meses en aparecer.
El antepenúltimo carácter es un dígito para quien nació hasta 1999 y una letra para quien nació a partir del año 2000. Se introdujo porque la fecha va con dos cifras y ya no bastaba para distinguir 1998 de 2098.
Si tu expresión regular espera \d en esa posición, rechaza a cualquier
persona nacida en este siglo. En 2026 eso significa rechazar a todo el que tenga menos
de veintiséis años. Genera una CURP con fecha de 2005 y pásala por tu validación: es la prueba
negativa más rentable de esta página.
Se confunden a diario porque las dos empiezan con letras del nombre y llevan la fecha de nacimiento. La diferencia que importa para el software:
Si tu aplicación intenta derivar el RFC de alguien a partir de su nombre y su fecha, acertará la raíz y fallará la homoclave. Solo puede validar el formato, no deducir el valor. Tienes el generador de RFC aparte.
NE, y muchas validaciones solo aceptan las 32 de los estados.Estas CURP pasan cualquier validación de formato y de dígito verificador, que es lo que comprueba un formulario, pero no corresponden a ninguna persona: se construyen a partir de nombres y fechas generados al azar. No están en el registro del RENAPO y una consulta oficial no devolvería nada. Están para probar tu software.
Preguntas frecuentes
No. Se construyen con la regla oficial a partir de nombres y fechas aleatorios, así que tienen el formato y el dígito verificador correctos, pero no identifican a nadie ni están en el registro del RENAPO.
Porque distingue el siglo de nacimiento: dígito para quien nació hasta 1999 y letra a partir del año 2000. Una validación que espere siempre un dígito rechaza a todos los nacidos en este siglo.
La tercera posición es una X y no hay consonante interna que tomar, así que también se pone X en la posición 15. Puedes generar ese caso escribiendo un guion en el campo del apellido materno.
En las posiciones de letra se escribe X. Pero dentro de la tabla del dígito verificador la Ñ sí existe, entre la N y la O, y desplaza el valor de las letras posteriores: usar una tabla de 36 caracteres da verificadores incorrectos.
Solo la raíz. Los tres últimos caracteres del RFC son la homoclave y la asigna el SAT con un algoritmo que no publica, así que no se puede derivar: solo validar el formato.
Sigue probando