Formateador JSON/XML/SQL
Organiza, valida y embellece tu código JSON, XML o SQL para mejor legibilidad y depuración.
Formatear CódigoCrea grandes volúmenes de datos de prueba estructurados (JSON, CSV, SQL) para tus proyectos. Define esquemas personalizados, aprovecha la versatilidad de Chance.js y genera datos eficientemente con Web Workers.
Máx. 100,000 para evitar sobrecarga del navegador.
Usar una semilla asegura datos reproducibles.
Guarda tus esquemas de datos para reutilizarlos fácilmente en el futuro.
El Generador de Datos Falsos (Mock Data) Avanzado de Optikit es una poderosa herramienta diseñada para desarrolladores, testers y cualquier persona que necesite datos estructurados para poblar bases de datos, realizar pruebas de software, crear prototipos o realizar demostraciones. En lugar de crear manualmente datos de ejemplo, lo que puede ser tedioso y propenso a errores, esta herramienta te permite definir un esquema y generar miles de registros realistas en segundos.
Utilizamos la versátil librería Chance.js bajo el capó, que ofrece una enorme variedad de tipos de datos falsos, desde nombres y direcciones hasta emails, IPs, texto aleatorio y mucho más. Además, para manejar la generación de grandes volúmenes de datos sin congelar tu navegador, hemos implementado la generación en un Web Worker, lo que significa que el trabajo pesado se realiza en un hilo separado, manteniendo la interfaz fluida y responsiva.
Con el Generador de Datos Falsos de Optikit, acelera tus ciclos de desarrollo y prueba, y crea demos más convincentes.
nombre_usuario
, email_cliente
, fecha_registro
). Este será el nombre de la clave en JSON o la cabecera en CSV/SQL.Esta herramienta utiliza Chance.js, que ofrece una gran variedad de generadores. Aquí algunos ejemplos comunes que puedes seleccionar:
Nombre Completo
, Nombre
, Apellido
: Con opciones de género y nacionalidad para mayor realismo.Edad
: Puedes especificar rangos como niño, adolescente, adulto, senior.Género (texto)
: Devuelve "Male" o "Female".Email
: Emails con formato válido, con opción de dominio personalizado.Nombre de Usuario
: Similar a un handle de Twitter.URL
: URLs completas, con opciones para dominio, path, extensiones.Dirección IP
, UUID (GUID)
.Palabra
, Frase
, Párrafo
: Con opciones para controlar la longitud o número de elementos.String Aleatorio
: Muy personalizable con longitud, pool de caracteres, mayúsculas/minúsculas, símbolos.Entero
, Punto Flotante
: Con rangos configurables (mín/máx) y decimales fijos para flotantes.Booleano
: True o False, con probabilidad configurable.Fecha
: Con opciones para devolver como objeto Date de JS o como string, y especificar año, mes o día.Timestamp Unix
: Segundos desde la época Unix.Dirección
, Ciudad
, País
(nombre completo o código), Código Postal
.Latitud
, Longitud (Geo)
: Coordenadas geográficas.Tipo Tarjeta Crédito
, Número Tarjeta Crédito
: Genera datos con formato de tarjeta (no son reales ni válidos).Color Hex
: Códigos de color hexadecimales, con opciones de formato y escala de grises.Explora la lista desplegable "Tipo de Dato" al añadir un campo para ver todas las opciones disponibles y sus configuraciones específicas.
Chance.js es una librería de JavaScript diseñada para generar datos aleatorios de manera sencilla. Proporciona una amplia gama de funciones para crear desde strings, números y booleanos básicos hasta datos más complejos como nombres, direcciones, emails, fechas y mucho más. Es muy útil para crear datos de prueba (mock data).
Un Web Worker es una característica de JavaScript que permite ejecutar scripts en un hilo de fondo, separado del hilo principal de la interfaz de usuario del navegador. Lo usamos para la generación de datos porque si intentaras generar, por ejemplo, 50,000 registros en el hilo principal, el navegador se congelaría y la página no respondería hasta que terminara. Al usar un Web Worker, la generación ocurre en segundo plano, la interfaz sigue siendo responsiva, y te mostramos una barra de progreso.
Hemos establecido un límite práctico de 100,000 registros en la interfaz para prevenir un uso excesivo de memoria en el navegador o en el Web Worker, lo que podría llevar a que la pestaña o el navegador fallen. Para la mayoría de los casos de prueba, esta cantidad es más que suficiente. La generación y el procesamiento (especialmente para formatos como CSV o SQL) consumen memoria.
Una semilla es un valor inicial que se usa para generar una secuencia de números (pseudo)aleatorios. Si usas la misma semilla con la misma configuración de esquema y número de registros, Chance.js generará exactamente el mismo conjunto de datos cada vez. Esto es extremadamente útil para pruebas reproducibles, donde necesitas que los datos de entrada sean consistentes entre ejecuciones.
Muchos de los generadores de Chance.js aceptan opciones para personalizar la salida. Por ejemplo, para un entero, puedes especificar un rango mínimo y máximo. Para un nombre, puedes sugerir una nacionalidad. Cuando seleccionas un "Tipo de Dato", la interfaz mostrará los campos de opciones relevantes para ese tipo particular. Completa solo los que necesites; los demás usarán los valores por defecto de Chance.js.
Los datos son "falsos" o "ficticios", lo que significa que están diseñados para parecer reales en formato y tipo, pero no corresponden a personas o entidades reales (ej. los números de tarjeta de crédito no son válidos). La unicidad no está garantizada, especialmente con conjuntos de datos más pequeños o tipos de datos con un conjunto finito de posibilidades (ej. "Género (texto)"). Si necesitas unicidad estricta para un campo, tendrías que procesar los datos generados posteriormente.
Los esquemas que defines (nombres de campo, tipos, y sus opciones) se pueden guardar con un nombre en el LocalStorage de tu navegador. Esto significa que son privados para ti y persisten en ese navegador. Luego puedes seleccionarlos de la lista "Cargar Esquema Guardado" para rellenar rápidamente la definición del esquema sin tener que configurarlo todo de nuevo.
Hemos intentado manejar los errores dentro del worker. Si ocurre un error durante la generación (por ejemplo, una opción inválida para un tipo de Chance.js), el worker debería enviar un mensaje de error de vuelta a la página principal, que se mostrará en el área de "Estado de Generación". Si el error es más grave y el worker se interrumpe, el botón "Generar Datos" se reactivará y verás un mensaje de error general. Revisa la consola del navegador para más detalles si esto ocurre.
El formato SQL generado son sentencias INSERT INTO
estándar. Usa comillas invertidas (backticks `) para los nombres de tabla y columna (común en MySQL) y comillas simples para los valores de texto. Esto debería ser compatible con la mayoría de las bases de datos SQL (MySQL, PostgreSQL, SQL Server, SQLite). Sin embargo, algunos tipos de datos muy específicos o sintaxis particulares de una base de datos podrían requerir ajustes manuales.
No directamente en esta herramienta. Chance.js genera cada campo de forma independiente según su tipo y opciones. Crear datos relacionales complejos (donde un campo depende de otro) está fuera del alcance de esta herramienta y requeriría una lógica de generación mucho más sofisticada o el uso de librerías especializadas en datos relacionales ficticios.
La previsualización está limitada a los primeros 10 registros para mantener la interfaz rápida y evitar mostrar cantidades masivas de datos directamente en la página, lo cual podría ralentizar el navegador. Los datos completos siempre están disponibles en el área de texto "Datos Generados Completos" y para la descarga.
Mantener y desarrollar estas herramientas gratuitas es posible gracias al apoyo de usuarios como tú.
Apoyar a Optikit