Supuestos
- RFC: tabla de valores 0-9, A-Z, &, espacio, Ñ; pesos 13→2; dígito = 11 − (suma mod 11), con 0 → "0" y 10 → "A". Personas morales se anteponen con un espacio.
- CURP: valores según "0123456789ABCDEFGHIJKLMNÑOPQRSTUVWXYZ"; pesos 18→2; dígito = (10 − suma mod 10) mod 10.
- Solo forma y dígito; no verifica existencia ni homoclave. Jurisdicción: México.
Cómo se calcula
- Normaliza (mayúsculas, sin guiones ni espacios) y comprueba la estructura con la expresión regular oficial.
- Valida que la fecha AAMMDD tenga mes 01-12 y día 01-31.
- Recalcula el dígito verificador con el algoritmo correspondiente y lo compara con el último carácter.
Ejemplos
Errores frecuentes
- No compartas tu RFC/CURP en sitios que los envíen a servidores desconocidos; con ellos se pueden suplantar trámites.
- La constancia de situación fiscal (SAT) es el único documento que acredita tu RFC y régimen.
Preguntas frecuentes
¿Cómo se forma el RFC?
Persona física: primera letra y primera vocal interna del apellido paterno, primera letra del materno, primera del nombre (4), fecha de nacimiento AAMMDD (6), homoclave (2) y dígito verificador (1) = 13 caracteres. Persona moral: 3 letras de la razón social, fecha de constitución, homoclave y dígito = 12. El dígito verificador se calcula con módulo 11 sobre los caracteres anteriores (Anexo 1 de la RMF).
¿Qué significa cada parte de la CURP?
Letra y vocal del apellido paterno, letra del materno, letra del nombre (4), fecha AAMMDD (6), sexo H/M (1), entidad federativa (2, NE para nacidos en el extranjero), consonantes internas de apellidos y nombre (3), homoclave de RENAPO (1: dígito para nacidos antes de 2000, letra después) y dígito verificador (1) = 18 caracteres.
¿Por qué mi RFC real sale como no válido?
Revisa mayúsculas, la Ñ y el carácter &, y que no falte el dígito final. Si el formato es correcto pero el dígito no coincide, es probable que haya un error de captura; el SAT asigna el dígito con este mismo algoritmo, salvo RFC muy antiguos con reglas especiales. Los RFC genéricos XAXX010101000 (público en general) y XEXX010101000 (extranjeros) se aceptan como tales.
¿Esta página envía mi RFC a algún servidor?
No. El cálculo del dígito verificador es aritmético y se ejecuta en tu navegador; la página no hace ninguna petición con lo que escribes. Aun así no es una consulta oficial: valida la forma, no la existencia.