Mexico CURP Validator

Check the format and verification digit of a Mexican CURP and read the sex and birth date it encodes. 100% local — nothing is uploaded. Built for Mexico.

Result

Batch check — paste many, one per line

Cross-country or bigger lists? Use the batch ID workbench.

Validate a Mexican CURP

Paste an 18-character CURP to verify its check digit, decode sex and birth date, and see color-coded segments — all locally.

The CURP (Clave Única de Registro de Población) is Mexico's 18-character population registry code, administered by RENAPO. Structure: 4 name letters, 6 date-of-birth digits, sex (H/M), a 2-letter state code (or NE for born abroad), 3 internal consonants, a homonymy differentiator (digit for people born before 2000, letter A–Z from 2000), and a final check digit.

The check digit is computed from a character-value table with descending weights modulo 10, and this validator checks every layer locally: length, letter/digit pattern, real calendar date, known state code, and the check digit itself.

As with all format validators, a pass means "internally consistent", not "registered". The authoritative CURP lookup is the government service at gob.mx/curp. Last verified: August 2026.

Published test vectors — each validated against the live tool: a structurally valid 18-character CURP passes all five layers (length, pattern, real calendar date, state code, check digit) · corrupting the final digit is caught by the check-digit layer with the expected digit shown · an impossible date such as 30 February is rejected at the date layer, not the pattern layer. Batch mode: paste one CURP per line (or import CSV/TXT) and export per-row results. Last verified: 2026-08-12.

FAQ

How is the CURP check digit computed?

Each of the first 17 characters maps to a value ("0"–"9" → 0–9, "A"–"Z" → 10–36 skipping Ñ handling), multiplied by weights 18 down to 2 and summed. The check digit is (10 − (sum mod 10)) mod 10.

What changed for people born after 1999?

Position 17 (the homonymy differentiator) is a digit 0–9 for births up to 1999 and a letter A–Z from 2000 onwards — that is how the format encodes the century.

Which state codes are valid?

The 32 federal entities each have a 2-letter code (DF/CX for Mexico City, JC for Jalisco, NL for Nuevo León…), plus NE for Mexicans born abroad. Anything else fails validation.

Is my CURP sent anywhere when I validate it?

No. The entire check runs in your browser — nothing is uploaded, logged or stored. For an official copy of your CURP, use the RENAPO service on gob.mx.

Can I validate a whole list of CURPs at once?

Yes — open the batch section, paste one CURP per line or import a CSV/TXT file, and run “Validate all”. Each row gets its own verdict and reason, and you can export the results as CSV or print a report. Everything runs locally; the list never leaves your browser.

Last updated: