1001Ferramentas
🇲🇽Validators

Mexico CURP Validator

Validate Mexican CURP (Unique Population Registry Code) — 18 chars with specific format for name, date, sex, state and check digit.

CURP: Mexico's Unique Population Registry Code

The CURP (Clave Unica de Registro de Poblacion) is the 18-character alphanumeric identifier assigned to every person residing in Mexico. Issued by RENAPO (Registro Nacional de Poblacion e Identificacion Personal) under the Secretaria de Gobernacion (SEGOB), it is the backbone of civic identification in Mexico, comparable in role to the Brazilian CPF but with a more descriptive, deterministic structure.

More than 130 million Mexicans hold a CURP today. It is required from birth and ties together education records, healthcare benefits (IMSS, ISSSTE), employment, social programs (Prospera, Bienestar), voter rolls and migration paperwork. Foreigners with legal residence in Mexico — including Brazilians on temporary or permanent visas — are also issued a CURP.

Anatomy of the 18 characters

Unlike opaque IDs (CPF, SSN), the CURP encodes personal data deterministically. The layout is:

  • Positions 1-4: four letters derived from the holder's names — initial and first internal vowel of the apellido paterno, initial of the apellido materno, initial of the given name.
  • Positions 5-10: six digits for date of birth in AAMMDD format.
  • Position 11: sex marker — H (hombre) or M (mujer).
  • Positions 12-13: two-letter code for the federal entity of birth (e.g., DF Mexico City, JC Jalisco, NE foreign-born).
  • Positions 14-16: three internal consonants taken from the names (one from each surname and the given name).
  • Position 17: homoclave — a digit or letter that disambiguates people born the same day with the same name pattern. Letters appear for people born from 2000 onward.
  • Position 18: the check digit, computed by a weighted-sum algorithm modulo 10.

The check-digit algorithm

Each of the first 17 characters is mapped to a number via a fixed conversion table (0-9 -> 0-9, A=10, B=11, ..., N=18, Ñ=19, O=20, ..., Z=33). The numbers are multiplied by descending weights from 18 to 2, summed, and the remainder modulo 10 is subtracted from 10. The result modulo 10 yields the verification digit:

sum = Σ (value[i] * (19 - i)) for i = 1..17
DV  = (10 - (sum mod 10)) mod 10

This catches single-digit typos and adjacent transpositions, the same class of errors targeted by the Luhn formula on credit cards.

Forbidden words filter (palabras altisonantes)

Because the first four letters are derived from real names, certain combinations can spell offensive Spanish words. RENAPO maintains a public blacklist (palabras altisonantes) including BACA, BUEI, CACA, COJO, FETO, JETA, KACA, MAME, MEAR, MULA, PEDA, PENE, PIPI, POPO, PUTA, RATA, RUIN and others. When a generated CURP starts with one of these, the second letter is replaced by an X (e.g., PUTA becomes PXTA). A serious validator must accept these substitutions as legitimate.

CURP vs RFC vs INE: three IDs Mexicans juggle

CURP is the civil identifier (everyone has one). RFC (Registro Federal de Contribuyentes) is the tax ID issued by SAT — mandatory only for those with fiscal activity; it has 13 characters for individuals and 12 for entities. INE (formerly IFE) is the credential issued by the Instituto Nacional Electoral — the de facto photo ID Mexicans carry. Anti-fraud workflows in banks and notaries typically cross-check CURP + RFC + INE.

Where the CURP is required

  • Education: enrollment from preschool through university; SEP scholarships.
  • Healthcare: IMSS and ISSSTE affiliation; INSABI/IMSS-Bienestar lookups.
  • Employment: formal CLT-equivalent hiring; NSS (Numero de Seguridad Social) issuance.
  • Voting: pre-requisite for the INE credential.
  • Banking: KYC at every Mexican bank (BBVA, Banamex, Banorte).
  • Social programs: pension Bienestar, Beca Benito Juarez, Sembrando Vida.
  • Real estate: notarized deeds via SAT and the local Registro Publico.

Verifying a CURP officially

The Mexican government runs a free public lookup at www.gob.mx/curp. Given a CURP it returns the holder's name, sex, date of birth, federal entity and the issuing folio. This validator runs the math locally in your browser — no data is sent — and is suited for offline checks, test fixtures, mock data for Mexican expansion and onboarding flows that need to short-circuit obvious typos before calling the gob.mx API.

FAQ

CURP and RFC — what is the difference? CURP is a civil identifier issued by RENAPO; RFC is a tax identifier issued by SAT. Most Mexicans hold both. The first 10 characters of the RFC for individuals match the start of the CURP (same name + DOB derivation).

Can a Brazilian get a CURP? Yes. Brazilians legally resident in Mexico under any visa (work, student, family unity, permanent residence) are issued a CURP. The federal-entity code becomes NE (Nacido en el Extranjero) for foreigners.

Who issues the CURP? RENAPO, a unit of SEGOB. Issuance is free and happens automatically at birth, when registering with a Mexican consulate abroad, or when obtaining a residence permit through INM.

Why is my CURP rejected even though the math checks out? A valid math check means the format is well-formed, not that the CURP exists in RENAPO. A real CURP can also be flagged as baja (deactivated) when duplicates are detected. Always cross-check with gob.mx.

Does this tool send my CURP to a server? No. The validator runs entirely client-side; no HTTP request carries the digits. Use the official portal whenever you need legal proof of existence.

Related Tools