Elige física o moral
La persona física son 13 caracteres: cuatro letras del nombre, seis de la fecha y tres de homoclave. La moral son 12: tres letras de la razón social, la fecha y la homoclave.
Escribe apellidos y nombre y obtén el RFC con las cuatro letras que corresponden según la regla del SAT, o déjalo en blanco para generarlo al azar. Persona física de 13 caracteres y moral de 12.
100 % privado. No hay servidor: los datos se generan en tu navegador y no se envían ni se guardan en ninguna parte.
Cómo funciona
La persona física son 13 caracteres: cuatro letras del nombre, seis de la fecha y tres de homoclave. La moral son 12: tres letras de la razón social, la fecha y la homoclave.
Si escribes apellido paterno, materno y nombre, las cuatro letras se calculan con la regla del SAT. Si lo dejas vacío, se usan nombres mexicanos frecuentes.
El CSV desglosa el RFC, el tipo, la raíz de letras, la fecha, la homoclave y el titular. Útil para sembrar una base de datos de clientes.
El RFC de una persona física no es aleatorio: los diez primeros caracteres se calculan a partir del nombre y la fecha de nacimiento. La regla del SAT para las cuatro letras iniciales es esta, en orden:
function letrasRfc(paterno, materno, nombre) {
const limpia = t => t.normalize("NFD").replace(/[\u0300-\u036f]/g, "")
.toUpperCase().replace(/[^A-Z]/g, "");
const pa = limpia(paterno) || "X";
const vocal = (pa.slice(1).match(/[AEIOU]/) || ["X"])[0];
return pa[0] + vocal + (limpia(materno)[0] || "X") + (limpia(nombre)[0] || "X");
}
letrasRfc("Hernández", "García", "Juan") // "HEGJ"
letrasRfc("Ng", "Li", "Ana") // "NXLA" ← sin vocal interna
Después de esas cuatro letras van seis dígitos con la fecha en formato
año-mes-día: quien nació el 12 de marzo de 1985 lleva 850312. Así,
Juan Hernández García nacido ese día tiene el RFC
HEGJ850312 más la homoclave.
Los tres últimos caracteres son la homoclave, y aquí toca ser honesto: el SAT no publica el algoritmo con el que la asigna. Sirve para desempatar entre personas cuyos diez primeros caracteres coinciden, y solo el SAT puede generarla.
Esta herramienta produce una homoclave aleatoria: el RFC resultante tiene la estructura y la longitud correctas, y pasa cualquier validación de formato, pero los tres últimos caracteres no son verificables. Lo decimos aquí y en la propia herramienta porque preferimos que lo sepas antes que lo descubras cuando el SAT rechace un dato.
Si necesitas RFC que el SAT reconozca como propios, la única vía es su entorno de pruebas con los identificadores que ese entorno te asigne. Para todo lo demás —formularios, máscaras, cargas masivas, pantallas de alta de cliente— un RFC sintético hace el trabajo.
Un detalle que casi nadie conoce y que existe de verdad: cuando las cuatro letras iniciales forman una palabra que el SAT considera inconveniente u ofensiva, la cuarta letra se sustituye por una X. El SAT mantiene una lista de esas combinaciones.
Por eso hay RFC legítimos cuya cuarta letra no coincide con la inicial del nombre. Si tu aplicación recalcula el RFC para comprobar que el usuario lo escribió bien, esos casos te van a dar un falso negativo. La lección práctica: valida la estructura, no recalcules el RFC completo.
| Persona física | Persona moral | |
|---|---|---|
| Longitud | 13 caracteres | 12 caracteres |
| Letras iniciales | 4, del nombre y los apellidos | 3, de la razón social |
| Fecha | De nacimiento | De constitución de la sociedad |
| Ejemplo | HEGJ850312AB1 | SIA040830X2C |
Para la persona moral, las tres letras salen de las tres primeras palabras
significativas de la razón social, descartando conectores y la forma societaria: en
«Servicios Industriales Azteca S.A. de C.V.» quedan S, I y A. Si el nombre solo tiene dos
palabras significativas, se toman las dos primeras letras de la primera más la inicial de la
segunda: «Constructora Maya» da COM.
Esa diferencia de longitud —13 frente a 12— es un caso de prueba en sí misma. Un campo con máscara fija de trece caracteres rechaza a todas las empresas.
Preguntas frecuentes
Es válido en formato: la longitud, las cuatro letras y la fecha siguen la regla oficial, así que pasa las validaciones de estructura. No está inscrito en el SAT y su homoclave no es la que el SAT asignaría, porque ese algoritmo no es público.
Porque el SAT no publica cómo la calcula. Cualquier herramienta que afirme generarla correctamente está adivinando. Preferimos declararlo: los tres últimos caracteres son aleatorios y no verificables.
Puedes obtener los diez primeros caracteres, que son los que se calculan con la regla oficial a partir de tus apellidos, tu nombre y tu fecha de nacimiento. La homoclave real solo la da el SAT: consúltala en su portal con tu CURP.
El RFC identifica a un contribuyente ante el SAT y lo tienen tanto personas como empresas. La CURP identifica a una persona ante el registro de población, tiene 18 caracteres e incluye el estado de nacimiento y el sexo. Son números distintos con estructuras distintas.
No. Para probar facturación electrónica hay que usar el entorno de pruebas del SAT con los RFC que ese entorno te asigne. Los sintéticos sirven para el resto del flujo: formularios, validaciones, base de datos y mocks.
Sí, en lotes de 1, 10, 50 o 100, en CSV o JSON, con el RFC desglosado en raíz, fecha, homoclave y titular.
Sigue probando