✓ Sin registro 🔒 Todo en tu navegador Lotes de 1 a 100 · CSV y JSON

Generador de RFC de prueba (México)

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

Tres pasos, cero configuración

1

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.

2

Escribe el nombre, o no

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.

3

Copia o exporta

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.

De dónde salen las cuatro letras

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:

  1. La primera letra del apellido paterno.
  2. La primera vocal interna de ese mismo apellido, es decir, la primera vocal que aparece después de la letra inicial.
  3. La primera letra del apellido materno.
  4. La primera letra del nombre.
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.

La homoclave: lo que no se puede calcular

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.

La regla de las palabras inconvenientes

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.

Física y moral: dos longitudes distintas

Persona físicaPersona moral
Longitud13 caracteres12 caracteres
Letras iniciales4, del nombre y los apellidos3, de la razón social
FechaDe nacimientoDe constitución de la sociedad
EjemploHEGJ850312AB1SIA040830X2C

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.

Qué probar con RFC sintéticos

  • Las dos longitudes. 13 para física, 12 para moral, en el mismo campo.
  • Nombres sin vocal interna. Un apellido como «Ng» fuerza la X en la segunda posición. Escríbelo y comprueba que tu validación lo acepta.
  • Apellidos con tilde y con eñe. «Hernández» y «Muñoz» se normalizan sin acentos para el RFC, pero deben guardarse con ellos en el resto del registro.
  • Fechas límite. Un 29 de febrero, o una fecha de constitución reciente. La herramienta usa selector de calendario para que puedas elegirlas.
  • Un solo apellido. Hay personas registradas con un único apellido, y entonces entra la X. Deja el materno vacío para generarlo.

Preguntas frecuentes

Dudas habituales

¿El RFC generado es válido ante el SAT?

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.

¿Por qué la homoclave es aleatoria?

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.

¿Puedo calcular mi propio RFC con esto?

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.

¿Qué diferencia hay entre RFC y 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.

¿Sirve para facturar?

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.

¿Puedo generar 100 y exportarlos?

Sí, en lotes de 1, 10, 50 o 100, en CSV o JSON, con el RFC desglosado en raíz, fecha, homoclave y titular.