International · Mexico

CURP validator.

Validar CURP: check an 18-character Clave Única de Registro de Población for structure, a real birth date, a known state code and the check digit. Nothing is sent anywhere, and nothing is looked up.

How it works: the CURP is 4 letters from the name, a YYMMDD birth date, a sex letter, a 2-letter state code, 3 internal consonants, a homonymy character (a digit for births through 1999, a letter from 2000) and a final check digit. The check digit is 10 − (sum mod 10) over the first 17 characters, each valued 0-9, A-Z (with Ñ between N and O) and weighted 18 down to 2.

Sources: DOF 18/06/2018, Instructivo Normativo para la asignación de la CURP; python-stdnum, stdnum/mx/curp.pyRetrieved 16 October 2026

Advertisement

Inputs

All 18 characters, with or without spaces and hyphens.

Result

Enter a number and press Check.

How the check works

Rules applied
PartWhat happens
1-4Letters from the surnames and given name
5-10Birth date YYMMDD
11Sex letter (H, M; X is accepted here)
12-13State code of birth (NE for born abroad)
14-16Internal consonants
17Digit for births through 1999, letter from 2000
18Check digit

Worked example BOXW310820HNERXN0: the first 17 characters valued and weighted 18 down to 2 add up to 2551; 2551 mod 10 = 1; 10 − 1 = 9. The full CURP is BOXW310820HNERXN09.

What this does not tell you

The 2018 DOF instructivo defines the structure and says the last position is a check digit produced by an algorithm, but the text we read does not print the formula. The weights and alphabet used here come from python-stdnum. The sex codes in that instructivo are H and M; X is accepted here as well, although the instructivo does not list it. The state list is the one python-stdnum uses; the instructivo defers to a separate catalogue. This tool does not apply the reserved-word substitutions.

Sources

DOF 18/06/2018, Instructivo Normativo para la asignación de la CURP; python-stdnum, stdnum/mx/curp.py; gob.mx, CURP (official lookup). Retrieved 16 October 2026.

Official register: gob.mx/curp. Open it in a new tab and enter the number there; this page never sends the number anywhere.

Frequently asked questions

Can this tell me whose CURP it is?

No. It checks the structure and the check digit locally. To obtain or confirm a CURP, use the official gob.mx CURP service.

How does the birth century work?

Position 17 is a digit for births through 31 December 1999 and a letter from 1 January 2000, so that character decides which century the YYMMDD date is read in.

What is the NE state code?

NE is the code for people born abroad. The other codes are the 32 federal entities, with DF used for Mexico City.

Format and check digit only — not an official lookup

This tool works entirely in your browser. A passing result does not prove that a number was issued, is active, or belongs to anyone, and it is not verification by any government. Nothing you type is transmitted, stored or logged.

Advertisement
Advertisement