Mexico CURP Validator
Online Mexican CURP validator. Verify formatting, state codes, and check digits.
About Mexico CURP
The CURP is Mexico's unique population registry code, mandatory for all residents and citizens.
This tool generates random valid CURPs matching names, birthdates, gender, and state codes with a correct checksum for software test automation.
Anatomy & Structure of Mexican CURP
The 18-character CURP code is organized into 7 segments:
| Position | Field | Length | Meaning & Rule | Example |
|---|---|---|---|---|
| 1 to 4 | Name Initials | 4 letters | Initial consonants/vowels from first surname, second surname and given name | AAAA |
| 5 to 10 | Birth Date | 6 digits | YYMMDD numerical format | 800101 |
| 11 | Gender | 1 letter | H (Male), M (Female), or X (Non-binary) | H |
| 12 & 13 | Federal Entity Code | 2 letters | Official 2-letter RENAPO state code | DF |
| 14 to 16 | Internal Consonants | 3 letters | First internal consonants from surnames and given name | RRN |
| 17 | Century Differentiator | 1 character | 0-9 for 20th century, A-J for 21st century | 0 |
| 18 | Check Digit | 1 digit | RENAPO Modulo 10 checksum with factors from 18 to 2 | 9 |
Official CURP Validation Algorithm (RENAPO Modulo 10)
RENAPO calculates the check digit using alphanumeric character values and positional weights from 18 to 2:
S = Σ (Value(c[i]) × (18 - i)); Remainder = S % 10; DV = (10 - Remainder) % 10
- 1. Map characters: 0-9 to 0-9; A-Z to 10-35.
- 2. Multiply each character value by descending weights from 18 to 2.
- 3. Compute the sum of all products.
- 4. Remainder = Sum % 10.
- 5. DV = (10 - Remainder) % 10.
- 6. Conforms if 18th position matches computed DV.