The CURP is not a random sequence. Each of its 18 characters encodes specific personal information, making it a structured identifier that cross-references the person's identity data. Here is how the code breaks down, using a fictional example: GAVE850315MNLRSLA7.
Positions 1–4 — Name components: The first four characters are derived from the person's name. Position 1 is the first letter of the paterno (father's first surname). Position 2 is the first vowel of the paterno after the initial letter. Position 3 is the first letter of the materno (mother's first surname). Position 4 is the first letter of the first given name. In our example, GAVE could represent a person with paterno García (G, A), materno Velázquez (V), and given name Elena (E).
Positions 5–10 — Date of birth: Six digits in YYMMDD format. 850315 = March 15, 1985. This is year-month-day, not the day-month-year format used in Mexican civil documents — an important distinction for translators who also need to convert dates on the surrounding document.
Position 11 — Gender: H for hombre (male) or M for mujer (female). In our example, M indicates female.
Positions 12–13 — State of birth: A two-letter code representing the Mexican state where the person was born, or NE for people born outside Mexico. NL = Nuevo León. The full list of state codes is defined by RENAPO.
Positions 14–16 — Additional name consonants: Three consonants taken from the paterno, materno, and first given name (first internal consonant of each). These provide additional name differentiation.
Position 17 — Disambiguation digit: A character (letter or number) assigned by RENAPO to distinguish people who otherwise share the same CURP elements. This ensures uniqueness.
Position 18 — Check digit: A verification digit calculated from the preceding 17 characters. It allows automated systems to detect transcription errors.
Why does this matter for translation? Because the CURP is a self-verifying code. If even one character is transposed or mistyped during translation, the check digit will not match, and an automated verification system — or a careful USCIS adjudicator — may flag the discrepancy. This is why translators reproduce the CURP character-for-character from the source document rather than retyping it from memory or a separate reference.