Escribe un campo y su generador por línea, elige la cantidad y selecciona JSON o CSV. Reutiliza la misma plantilla y semilla para reproducir los datos de prueba.
Se ejecuta localmente en tu navegadorUn campo por línea: fieldName: generator. Usa una semilla cuando necesites volver a generar el mismo ejemplo.
fullName, email, uuid, url, word, sentence(8), isoDate, boolean, integer(1,99), decimal(0,1), enum(red,blue), e array(word,3).
Una semilla hace que el resultado sea repetible; déjala vacía para usar una semilla única del navegador. Este generador está pensado para pruebas, demostraciones y datos de test, no para identidades reales.
Generate fixtures to preview JSON or CSV here.
Las descargas se crean desde un Blob local del navegador. Ningún dato de prueba se sube a VoriTools.
Usa el resultado para estados de interfaz, ejemplos de API, pruebas de contrato o una importación rápida en JSON → Código. No incluyas nombres, correos ni tokens reales en los datos de prueba.
Un campo por línea, escrito como fieldName: generator. La página convierte esa lista en registros —JSON para un ejemplo de API o el cuerpo de una petición, CSV para una hoja de cálculo o una importación de base de datos— y señala la línea incorrecta en lugar de devolver un archivo a medias.
Una semilla fija toda la secuencia de valores: la misma plantilla, la misma semilla y el mismo número de registros dan un archivo idéntico byte a byte, y ampliar el número más adelante deja intactos los registros que ya pegaste en tus pruebas.
La plantilla admite trece generadores: fullName, email, uuid, url, word, sentence, isoDate, boolean, integer, decimal, enum, array e ip. Los nombres no distinguen mayúsculas de minúsculas y los paréntesis son opcionales cuando el generador no lleva argumentos: uuid() y uuid son la misma llamada.
Las reglas van dentro de los paréntesis. integer() va de 0 a 100 por defecto y rechaza un máximo menor que el mínimo; decimal() hace lo mismo pero redondea cada valor a dos decimales, así que decimal(0,0.01) solo puede devolver 0 o 0.01. sentence() genera 8 palabras por defecto y limita el argumento a 1–40. array(generador,número) exige exactamente dos argumentos y produce como máximo 100 elementos. enum() necesita al menos una opción no vacía y, como las opciones se separan por comas, una opción no puede contener una coma.
La semilla se convierte en el flujo aleatorio, así que la misma semilla repite siempre los mismos valores: ocho registros creados hoy y ocho creados mañana son iguales carácter a carácter. Si dejas la semilla vacía, la página mezcla el reloj con Math.random, algo correcto para una demo puntual y equivocado para un archivo contra el que una prueba compara.
Dos detalles deciden si el archivo se mantiene estable. El orden de los campos forma parte del flujo: mover un campo o insertarlo en medio cambia todos los valores posteriores, así que añade los campos nuevos al final. El número de registros no forma parte: cinco ahora y cincuenta después, con la misma semilla, dejan intactos los cinco primeros.
email y url solo usan los dominios reservados example.test, demo.invalid y fixture.local, de modo que una dirección generada no se puede entregar; ip mantiene el primer octeto en 223 o menos y nunca termina en 0 ni en 255, dentro del rango que un analizador acepta como dirección de host unicast.
La plantilla, la semilla y los registros se quedan en la pestaña: una ejecución con una marca en la plantilla y en la semilla no envía ninguna petición que la contenga, y el único tráfico saliente de la página es el beacon de analítica del propio sitio, que nunca ve el archivo. Los valores siguen siendo de relleno: las identidades de producción y los datos reales de clientes pertenecen a tus propios sistemas.
El JSON es un array con sangrado de dos espacios, listo para pegar en el cuerpo de una petición o en un módulo de pruebas. El CSV empieza con una fila de cabecera con los nombres de los campos y entrecomilla todas las celdas; un campo array() se escribe como JSON dentro de su celda, con las comillas duplicadas tal como exige la RFC 4180.
Cambiar Output reformatea las filas que ya están en pantalla en lugar de generar otras nuevas, así que el JSON que estabas leyendo se convierte en el CSV correspondiente con valores idénticos. El volumen no es problema: 5.000 registros de cinco campos tardan unos 0,2 segundos y ocupan cerca de un megabyte, y la descarga se crea desde un Blob local llamado kivtools-mock-data.json o kivtools-mock-data.csv.