Saltar al contenido

Generador de CURP - Probar Códigos de Identificación Mexicanos para Desarrollo

Genere CURPs de prueba válidas para el desarrollo de aplicaciones mexicanas. Herramienta gratuita que crea códigos de identificación aleatorios de 18 caracteres siguiendo el formato oficial de RENAPO. Perfecto para pruebas, generación de bases de datos y validación de API.

Genere un ejemplo de CURP aleatorio, sintácticamente válido con un dígito de verificación correcto.

Calculadora de carga...
📚

Documentación

¿Qué es un generador de CURP?

Un generador de CURP crea una CURP de muestra aleatoria, el código de 18 caracteres que México utiliza para identificar a sus residentes y ciudadanos. El resultado tiene la estructura correcta y una cifra de control calculada correctamente, pero no está vinculada a una persona real. Los desarrolladores utilizan herramientas de este tipo para probar software sin exponer datos personales reales.

¿Qué es una CURP?

CURP son las siglas de Clave Única de Registro de Población, o «Unique Population Registry Code» en inglés. La emite el RENAPO (Registro Nacional de Población e Identidad), el registro nacional de población de México. Casi todos los residentes de México tienen una. Aparece en formularios de inscripción escolar, registros fiscales, documentos médicos y registros electorales. El código se construye a partir de partes del nombre de una persona, su fecha de nacimiento, sexo y estado de nacimiento, además de dos caracteres adicionales que ayudan a distinguir a las personas que, de otro modo, tendrían el mismo código.

Estructura y formato de la CURP

Una CURP siempre tiene 18 caracteres, todos ellos letras mayúsculas o dígitos. Cada posición tiene un significado fijo.

PosiciónSignificado
1Primera letra del apellido paterno
2Primera vocal interna del apellido paterno (la primera vocal después de la primera letra)
3Primera letra del apellido materno
4Primera letra del nombre
5–6Últimos dos dígitos del año de nacimiento
7–8Mes de nacimiento (01–12)
9–10Día de nacimiento (01–31)
11Sexo: H para Hombre, M para Mujer
12–13Código de dos letras del estado de nacimiento, como DF para Ciudad de México o JC para Jalisco
14Primera consonante interna del apellido paterno
15Primera consonante interna del apellido materno
16Primera consonante interna del nombre
17Un dígito para las personas nacidas antes de 2000, o una letra para las personas nacidas en 2000 o después
18Una cifra de control calculada a partir de los primeros 17 caracteres

México tiene 32 códigos estatales en este sistema: uno por cada uno de los 31 estados y otro para Ciudad de México.

Cuando los primeros cuatro caracteres forman por casualidad una palabra considerada grosera en español, el RENAPO sustituye el segundo carácter por X. Una persona llamada Inés Bueno Estrada comenzaría de otro modo por BUEI, por lo que el código empieza por BXEI. Este generador bloquea las mismas 82 palabras y aplica la misma sustitución.

Cómo calcular la cifra de control de la CURP

El carácter 18 detecta errores de escritura y copia. Se calcula a partir de los primeros 17 caracteres mediante este método:

  1. Se busca cada uno de los primeros 17 caracteres en el alfabeto 0123456789ABCDEFGHIJKLMNÑOPQRSTUVWXYZ. Su posición en esta lista, empezando por 0, es su valor. Por tanto, 0 tiene el valor 0, A tiene el valor 10, R tiene el valor 28 y Z tiene el valor 36.
  2. Se multiplica el valor de cada carácter por un peso. El peso comienza en 18 para el primer carácter y disminuye en uno para cada carácter posterior, hasta llegar a 2 para el carácter 17.
  3. Se suman los 17 productos para obtener una suma, S.
  4. La cifra de control es (10 − (S mod 10)) mod 10.

Ejemplo desarrollado

Considérese una persona ficticia, Juan Pérez Ramírez, nacida el 15 de marzo de 1985, de sexo masculino, en Jalisco.

  • Posición 1: P, primera letra de «Pérez»
  • Posición 2: E, primera vocal interna de «Pérez» (las letras posteriores a la primera son E, R, E, Z, por lo que la primera vocal es E)
  • Posición 3: R, primera letra de «Ramírez»
  • Posición 4: J, primera letra de «Juan»
  • Posiciones 5–10: 850315, para 1985-03-15
  • Posición 11: H, sexo masculino
  • Posiciones 12–13: JC, Jalisco
  • Posición 14: R, primera consonante interna de «Pérez»
  • Posición 15: M, primera consonante interna de «Ramírez»
  • Posición 16: N, primera consonante interna de «Juan»
  • Posición 17: 0, un dígito, porque el año de nacimiento es anterior a 2000 (los registros reales utilizan una regla fija para elegir qué dígito; este ejemplo utiliza 0)

Los primeros 17 caracteres son PERJ850315HJCRMN0. Al aplicar la fórmula anterior a esta cadena se obtiene una suma de 2.342. Como 2342 mod 10 = 2, la cifra de control es (10 − 2) mod 10 = 8. La CURP completa es PERJ850315HJCRMN08.

Cómo funciona este generador

La herramienta construye una CURP de muestra en varios pasos. Elige letras aleatorias para la parte del nombre y, después, un año de nacimiento desde 1940 hasta el año anterior al actual, de modo que la fecha siempre quede en el pasado. El día se selecciona dentro de la duración real del mes elegido, por lo que el 29 de febrero solo aparece en años bisiestos. El sexo y el código estatal se eligen al azar. A continuación, la herramienta añade las tres consonantes internas, aplica la sustitución de palabras groseras cuando es necesaria, elige una letra para la posición 17 si el año de nacimiento es 2000 o posterior y un dígito si es anterior, y calcula la cifra de control con la fórmula anterior.

Antes de mostrar un código, la herramienta vuelve a comprobarlo: la estructura debe coincidir con el patrón de 18 caracteres, el mes debe estar entre 01 y 12, la fecha codificada debe existir en el calendario y estar en el pasado, y la cifra de control debe coincidir. El siglo de esa fecha se determina mediante la posición 17, siguiendo la misma regla que utiliza el RENAPO: un dígito indica los años 1900–1999 y una letra indica los años 2000–2099. Los códigos que no superan cualquiera de estas comprobaciones no se muestran.

Usos habituales de las CURP generadas

Los equipos de software utilizan CURP generadas para probar formularios de registro, campos de bases de datos y lógica de validación antes de lanzar un producto para usuarios mexicanos. Como los códigos son aleatorios, pueden crearse en grandes cantidades para realizar pruebas de carga o inicializar una base de datos de desarrollo, sin utilizar ni almacenar información identificativa real de ninguna persona.

Historia del sistema CURP

México introdujo la CURP en 1996 para sustituir un conjunto fragmentado de sistemas de identificación que distintas agencias gubernamentales utilizaban por separado, lo que dificultaba relacionar los registros de una misma persona entre varias bases de datos. Desde entonces, la CURP se ha convertido en un requisito para muchos trámites gubernamentales, como la inscripción escolar, la presentación de declaraciones fiscales y la solicitud de un pasaporte. Para las personas nacidas a partir de 2000, el RENAPO coloca una letra en la posición 17 en lugar de un dígito.

Comparación de la CURP con otros sistemas nacionales de identificación

PaísSistemaFormato
MéxicoCURP18 caracteres, letras y dígitos
Estados UnidosNúmero de la Seguridad Social9 dígitos
CanadáNúmero de Seguro Social9 dígitos
BrasilCPF11 dígitos
IndiaAadhaar12 dígitos
EspañaDNI/NIE8 dígitos más una letra de control

A diferencia de un número puramente secuencial, la CURP incorpora información legible: fecha de nacimiento, sexo y estado. Esto permite comprobar si la fecha codificada es una fecha real del calendario, una de las verificaciones que realiza esta herramienta al generar un código de muestra.

Preguntas frecuentes

¿Para qué se utiliza un generador de CURP?

Crea un código aleatorio con el mismo formato que una CURP real, para utilizarlo en pruebas de software, inicialización de bases de datos y comprobación del funcionamiento correcto de la lógica de validación.

¿Las CURP generadas están vinculadas a personas reales?

No. Cada carácter se elige al azar o se calcula a partir de otros valores aleatorios. El resultado no está relacionado con ninguna persona real, viva o fallecida.

¿Se puede utilizar una CURP generada en un formulario oficial?

No. Solo el RENAPO puede emitir una CURP válida para una persona real. Utilizar un código generado en un formulario gubernamental, una declaración fiscal o cualquier documento oficial sería fraudulento.

¿Por qué algunas CURP terminan en una letra y otras en un dígito en la posición 17?

La posición 17 distingue a las personas que, de otro modo, tendrían CURP idénticas. El RENAPO utiliza un dígito para las personas nacidas antes de 2000 y una letra para las personas nacidas en 2000 o después.

¿Por qué una CURP tiene a veces una X como segundo carácter?

Porque, de otro modo, los primeros cuatro caracteres formarían una palabra considerada grosera en español. En ese caso, el RENAPO sustituye el segundo carácter por X, de modo que BUEI se convierte en BXEI.

¿Esta herramienta almacena las CURP que genera?

No. El código se genera en el navegador mediante JavaScript. No se envía nada a un servidor ni se guarda.

¿Cómo se calcula la cifra de control?

Cada uno de los primeros 17 caracteres se convierte en un número según su posición en un alfabeto fijo de 37 caracteres, se multiplica por un peso de 18 a 2 y se suma. La cifra de control es (10 − (sum mod 10)) mod 10. Consulte el ejemplo desarrollado anterior.

Referencias

  1. SEGOB (Secretaría de Gobernación), portal oficial de la CURP.
  2. RENAPO (Registro Nacional de Población e Identidad), Instructivo Normativo para la Asignación de la CURP.