Home CURP Mexico

Mexico CURP validator

How the CURP format works

Format
18 characters: 4 letters + 6-digit birth date + gender + 5 letters + alphanumeric + check digit
Example
GOGR800101HDFRRL07

Things to watch for

  • Encodes name initials, date of birth, and gender in plain sight — this check runs entirely in your browser, so nothing you type is stored or transmitted
  • Format + mod-10 check digit only — a pass doesn't confirm the CURP is registered with RENAPO
  • The 17th character is a differentiator used to tell apart people who'd otherwise share identical name-initial, birth-date, gender and state values
Regex for CURP
^[A-Z]{4}[0-9]{6}[HM][A-Z]{5}[0-9A-Z][0-9]$

Mexico’s CURP (Clave Única de Registro de Población) is the 18-character identifier RENAPO assigns to virtually every resident — it shows up on school enrollment, banking, tax filings, and almost any government form. Unlike most national IDs, a CURP wears its structure openly: 4 letters drawn from your name and surnames, a 6-digit birth date, a gender letter (H or M), a 2-letter state code, 3 more letters from your surnames, a differentiator character, and a final mod-10 check digit — for example GOGR800101HDFRRL07.

That differentiator character (the 17th of the 18) exists for a specific reason: two people can easily share identical name-initials, birth date, gender, and state of birth, and RENAPO needs a way to still tell them apart without changing any of the meaningful characters. Because a CURP encodes real personal details rather than an opaque serial, this checker runs entirely inside your browser — nothing you type is sent to a server, logged, or stored anywhere.

How this validator works

This tool checks the 18-character structure — letters, digits, and gender code all in the right positions — then runs the real mod-10 check digit calculation over a fixed alphabet (digits, then A-N, Ñ, then O-Z), weighted by each character’s distance from the end, entirely client-side.

What a pass doesn’t tell you

A pass confirms the 18 characters are internally consistent — not that the CURP is currently registered with RENAPO, or that the embedded name, birth date, and state actually belong to a real person. A fabricated but well-formed CURP can still satisfy the checksum.

Scope: this page and tool cover CURP format and mod-10 checksum validation only, entirely offline in your browser — not RENAPO registration status or identity verification.

Content last reviewed 2026-07-22.

CURP FAQ

What personal details does a CURP encode?

The first 4 characters are letters from your name and surnames, the next 6 are your date of birth, followed by a gender letter (H or M), a 2-letter state code, and more letters drawn from your surnames — all in plain sight within the 18 characters.

Is it safe to enter my CURP here, given how much personal data it encodes?

Yes. The check runs entirely in your browser — nothing you type is sent to a server, logged, or stored anywhere, by us or anyone else. It disappears the moment you close the tab.

Does a passing checksum mean my CURP is registered with RENAPO?

No. It confirms the 18 characters are internally consistent with the mod-10 check digit — not that RENAPO has that CURP on file, or that it's currently valid for official use.

← More CURP validators