
Company News
Socket Named Top Sales Organization by RepVue
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.
generador-datos-mx
Advanced tools
Generador de datos de prueba mexicanos realistas para testing y desarrollo
Librería moderna para generar datos de prueba mexicanos realistas ideal para testing, desarrollo y demostración de aplicaciones. Genera nombres, RFCs, CURPs, direcciones, teléfonos, CLABEs y más.
npm install generador-datos-mx
yarn add generador-datos-mx
pnpm add generador-datos-mx
// ES6 Modules
import generador from 'generador-datos-mx';
// CommonJS
const generador = require('generador-datos-mx');
import { generarPersona } from 'generador-datos-mx';
const persona = generarPersona();
console.log(persona);
/*
{
nombre: 'Juan',
apellidoPaterno: 'García',
apellidoMaterno: 'López',
nombreCompleto: 'Juan García López',
genero: 'masculino',
fechaNacimiento: '15/03/1985',
edad: 39,
rfc: 'GALJ850315AB1',
curp: 'GALJ850315HDFRPN01',
nss: '12850234567',
telefono: '+52 55 1234 5678',
email: 'juan.garcia@gmail.com',
direccion: 'Avenida Reforma 123, Col. Centro, C.P. 06000, Ciudad de México',
clabe: '002123456789012345',
banco: 'Banamex'
}
*/
import { generarPersonas } from 'generador-datos-mx';
// Generar 100 personas
const personas = generarPersonas(100);
// Con opciones específicas
const personasJovenes = generarPersonas(50, {
edadMin: 18,
edadMax: 30,
genero: 'femenino'
});
import { generarNombre } from 'generador-datos-mx';
const nombre = generarNombre({ genero: 'masculino' });
console.log(nombre);
// {
// nombre: 'Carlos',
// apellidoPaterno: 'Hernández',
// apellidoMaterno: 'Martínez',
// nombreCompleto: 'Carlos Hernández Martínez',
// genero: 'masculino'
// }
import { generarRFC } from 'generador-datos-mx';
// RFC aleatorio
const rfc1 = generarRFC();
console.log(rfc1); // 'HEMC850315AB1'
// RFC basado en datos
const rfc2 = generarRFC({
nombre: 'María',
apellidoPaterno: 'López',
apellidoMaterno: 'García',
fechaNacimiento: { fecha: '1990-05-20' }
});
console.log(rfc2); // 'LOGM900520XY2'
import { generarCURP } from 'generador-datos-mx';
const curp = generarCURP({
nombre: 'Juan',
apellidoPaterno: 'Pérez',
apellidoMaterno: 'Gómez',
genero: 'masculino',
fechaNacimiento: { fecha: '1995-08-15' }
});
console.log(curp); // 'PEGJ950815HJCRMN09'
import { generarTelefono } from 'generador-datos-mx';
// Teléfono aleatorio
const tel1 = generarTelefono();
// Teléfono móvil específico
const tel2 = generarTelefono({ tipo: 'movil' });
console.log(tel2);
// {
// tipo: 'movil',
// lada: '55',
// numero: '1234567',
// completo: '551234567',
// formato: '+52 55 1234 5678'
// }
// Teléfono fijo
const tel3 = generarTelefono({ tipo: 'fijo' });
console.log(tel3.formato); // '(55) 5555-1234'
import { generarDireccion } from 'generador-datos-mx';
const direccion = generarDireccion();
console.log(direccion);
// {
// calle: 'Avenida Reforma',
// numeroExterior: '456',
// numeroInterior: '12',
// colonia: 'Centro',
// codigoPostal: '06000',
// estado: 'Ciudad de México',
// estadoCodigo: '07',
// estadoAbreviacion: 'DF',
// direccionCompleta: 'Avenida Reforma 456 Int. 12, Col. Centro, C.P. 06000, Ciudad de México'
// }
import { generarCLABE } from 'generador-datos-mx';
const clabe = generarCLABE();
console.log(clabe);
// {
// clabe: '012180001234567897',
// banco: 'BBVA',
// codigoBanco: '012'
// }
import { generarNSS } from 'generador-datos-mx';
const nss = generarNSS();
console.log(nss); // '12850234567'
import { generarEmail } from 'generador-datos-mx';
// Email aleatorio
const email1 = generarEmail();
// Email basado en nombre
const email2 = generarEmail({
nombre: 'María',
apellidoPaterno: 'González'
});
console.log(email2);
// {
// email: 'maria.gonzalez@gmail.com',
// usuario: 'maria.gonzalez',
// dominio: 'gmail.com'
// }
import { generarEmpresa } from 'generador-datos-mx';
const empresa = generarEmpresa();
console.log(empresa);
// {
// nombreCorto: 'Grupo Hernández',
// nombreCompleto: 'Grupo Hernández, S.A. de C.V.',
// rfc: 'GHE210315AB1',
// tipo: 'S.A. de C.V.'
// }
import { generarFechaNacimiento } from 'generador-datos-mx';
// Edad entre 18 y 80 años (default)
const fecha1 = generarFechaNacimiento();
// Edad específica
const fecha2 = generarFechaNacimiento({
edadMin: 25,
edadMax: 35
});
console.log(fecha2);
// {
// fecha: '1990-06-15',
// fechaLegible: '15/06/1990',
// año: 1990,
// mes: 6,
// dia: 15,
// edad: 34
// }
| Función | Descripción | Retorna |
|---|---|---|
generarPersona(opciones) | Genera una persona completa con todos sus datos | Object |
generarPersonas(cantidad, opciones) | Genera múltiples personas | Array<Object> |
generarNombre(opciones) | Genera nombre completo | Object |
generarFechaNacimiento(opciones) | Genera fecha de nacimiento | Object |
generarRFC(datosPersona) | Genera RFC | string |
generarCURP(datosPersona) | Genera CURP | string |
generarNSS() | Genera Número de Seguridad Social | string |
generarCLABE(opciones) | Genera CLABE bancaria | Object |
generarTelefono(opciones) | Genera teléfono | Object |
generarDireccion(opciones) | Genera dirección completa | Object |
generarEmail(opciones) | Genera correo electrónico | Object |
generarEmpresa(opciones) | Genera nombre de empresa | Object |
getEstadisticas() | Obtiene estadísticas del generador | Object |
generarPersona(opciones){
genero: 'masculino' | 'femenino', // Default: aleatorio
edadMin: number, // Default: 18
edadMax: number // Default: 80
}
generarNombre(opciones){
genero: 'masculino' | 'femenino' // Default: aleatorio
}
generarTelefono(opciones){
tipo: 'movil' | 'fijo' // Default: aleatorio
}
import { generarPersonas } from 'generador-datos-mx';
// Generar datos para pruebas
describe('Sistema de Registro', () => {
it('debe registrar usuarios mexicanos', () => {
const usuarios = generarPersonas(10);
usuarios.forEach(usuario => {
const resultado = sistemaRegistro.registrar(usuario);
expect(resultado).toBe(true);
});
});
});
import { generarPersonas } from 'generador-datos-mx';
async function seedDatabase() {
const personas = generarPersonas(1000);
for (const persona of personas) {
await db.usuarios.insert({
nombre: persona.nombreCompleto,
email: persona.email,
rfc: persona.rfc,
telefono: persona.telefono,
direccion: persona.direccion
});
}
console.log('Base de datos poblada con 1000 usuarios');
}
import { generarPersona } from 'generador-datos-mx';
// API REST demo
app.get('/api/demo/usuario', (req, res) => {
const usuario = generarPersona();
res.json(usuario);
});
import { generarPersona } from 'generador-datos-mx';
// Rellenar formulario automáticamente
function autocompletarFormulario() {
const persona = generarPersona();
document.getElementById('nombre').value = persona.nombre;
document.getElementById('apellidos').value = `${persona.apellidoPaterno} ${persona.apellidoMaterno}`;
document.getElementById('rfc').value = persona.rfc;
document.getElementById('email').value = persona.email;
document.getElementById('telefono').value = persona.telefono;
}
La librería incluye:
# Ejecutar todos los tests
npm test
# Ejecutar tests con cobertura
npm run test:coverage
# Ejecutar tests en modo watch
npm run test:watch
# Clonar el repositorio
git clone https://github.com/GerardoLucero/generador-datos-mx.git
cd generador-datos-mx
# Instalar dependencias
npm install
# Ejecutar tests
npm test
# Ejecutar linter
npm run lint
# Compilar para producción
npm run build:prod
Esta librería genera datos FICTICIOS para propósitos de desarrollo y testing.
Las contribuciones son bienvenidas. Para cambios importantes:
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)Asegúrate de que los tests pasen:
npm test
npm run lint
MIT © Gerardo Lucero
Si encuentras algún problema o tienes preguntas:
¿Te gusta este proyecto? ⭐ ¡Dale una estrella en GitHub!
¿Necesitas otras utilidades mexicanas? 👀 Revisa el ecosistema completo:
Si estos paquetes te ayudan en tu desarrollo, considera invitarme un café o apoyar el mantenimiento:
Gracias por tu apoyo 🙌. Priorizaré issues/PRs y publicaré avances en los READMEs.
FAQs
Generador de datos de prueba mexicanos realistas para testing y desarrollo
We found that generador-datos-mx demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.

Security News
NIST will stop enriching most CVEs under a new risk-based model, narrowing the NVD's scope as vulnerability submissions continue to surge.

Company News
/Security News
Socket is an initial recipient of OpenAI's Cybersecurity Grant Program, which commits $10M in API credits to defenders securing open source software.