Mexico / Identity numbers

CURP and RFC Validator (Mexico)

Check Mexican CURP and RFC numbers: format, birth date, sex, state, and check digit, with the details a CURP contains read out. Checks a list at once.

CURP and RFC Validator (Mexico): A CURP has 18 characters: four letters from the name, the birth date, H or M for sex, the two-letter state of birth, three consonants from the name, a character that shows the century, and a check digit computed from the other 17. An RFC has 13 characters for people and 12 for companies, ending in a three-character homoclave whose last character is a check digit. Both were compared with the python-stdnum library on 6,000 numbers each. Runs 100% locally in your browser with zero server file uploads.

Runs
In your browser
Cost
Free · no sign-up
Availability
Ready to use
CURP and RFC validator (Mexico)Local processing

Runs entirely in your browser

A CURP holds the birth date, sex, and state, and ends with a check digit computed from the other 17 characters. An RFC's last character is a check digit too. Only the format and check digits are verified, not whether RENAPO or the SAT issued the number; everything stays in your browser.

Reading a CURP

In GODE561231HDFRRN00, GODE comes from the surnames and first name, 561231 is the birth date (31 December 1956), H means male, DF is Mexico City, RRN are the next consonants of the names, the first 0 marks a birth before 2000, and the final 0 is the check digit.

For other countries' numbers, see the RUT validator and the CUIT validator.

CURP and RFC together

A person's RFC usually starts with the same ten characters as their CURP, letters and birth date, followed by a homoclave assigned by the SAT, so the two can be compared at a glance.

How to use it

  1. Type or paste CURP or RFC numbers, one per line.
  2. Read which are valid, and the birth date, sex, and state a CURP holds.
  3. Look at the note for any number that fails, to see what is wrong.

Privacy & limitations

Numbers are checked in your browser and never sent anywhere.

Related tools

Frequently asked questions

Does a valid result mean the number was issued?

No: it means the number is correctly formed. Only RENAPO (for the CURP) and the SAT (for the RFC) can confirm a number belongs to someone.

Why does an RFC show a check digit warning but still pass?

Some older RFCs do not follow the check digit rule, so a mismatch is a reason to confirm the number with the SAT rather than proof it is wrong.

What is the character before the CURP's check digit?

It tells births before 2000 (a digit) from those from 2000 on (a letter), and keeps two people with the same data apart.

Free tool · runs in your browser · no account required