Define la estructura
Añade los campos que necesites y elige el tipo de cada uno. El generador rellena cada campo con un dato coherente con su tipo, no con «texto1».
Defines los campos y su tipo, eliges cuántos registros y obtienes un JSON con datos coherentes: un DNI que es un DNI, un correo con estructura de correo, un nombre peruano de longitud realista.
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
Añade los campos que necesites y elige el tipo de cada uno. El generador rellena cada campo con un dato coherente con su tipo, no con «texto1».
Un array de objetos para sembrar una tabla, o un objeto único para el cuerpo de una petición.
Con sangrado para leerlo, o minificado para pegarlo en un fichero. Y con la cantidad de registros que necesites.
Un JSON de prueba con {"nombre": "test1", "email": "a@a.com"} sirve para que el
código compile, no para probar nada. En cuanto una pantalla pinta esos datos, o en cuanto
alguien los mira, se nota:
Por eso este generador rellena cada campo según su tipo: si dices que un campo es un DNI, recibes ocho dígitos que parecen un DNI; si dices que es un nombre, recibes un nombre peruano con dos apellidos y su longitud real.
JSON es un formato mucho más estricto que el objeto literal de JavaScript, y esa diferencia produce fallos difíciles de ver:
// 1. Coma final: válida en JavaScript, INVÁLIDA en JSON
{ "a": 1, "b": 2, }
// 2. NaN e Infinity no existen en JSON
{ "valor": NaN } // JSON.stringify los convierte en null
// 3. Comillas simples: no
{ 'a': 1 }
// 4. Comentarios: no existen en JSON
{ "a": 1 } // esto rompe el parseo
// 5. Enteros grandes: válidos, pero pierden precisión al leerlos
JSON.parse('{"id": 9007199254740993}').id // 9007199254740992 ← cambió
La quinta es la peligrosa, porque no da ningún error. Si tu API devuelve
identificadores grandes como número, los últimos dígitos pueden cambiar en el camino. La
solución es enviarlos como cadena: {"id": "9007199254740993"}.
Es lo que hacen las API que manejan identificadores largos, y por eso lo hacen.
Es una de las carencias más sentidas del formato: no existe un tipo fecha. Todo lo que hay son cadenas y números, así que cada equipo elige y ahí empiezan los desencuentros:
| Forma | Ejemplo | Problema |
|---|---|---|
| ISO 8601 con zona | "2026-03-12T14:30:00Z" | Ninguno. Es la forma correcta |
| ISO sin zona | "2026-03-12T14:30:00" | ¿En qué zona? Cada cliente supondrá una distinta |
| Marca de tiempo Unix | 1773325800 | ¿Segundos o milisegundos? Un factor de mil de diferencia |
| Formato local | "12/03/2026" | ¿Día 12 de marzo o 3 de diciembre? |
La recomendación es siempre la misma: ISO 8601 con zona horaria explícita. Es legible, ordena alfabéticamente igual que cronológicamente, y no admite interpretaciones.
La estructura que defines y los datos que salen no viajan a ningún servidor: todo se calcula en tu equipo. Si necesitas acompañar el JSON con respuestas de API completas —con su código de estado y sus cabeceras—, tienes el generador de respuestas HTTP mock.
Preguntas frecuentes
Sí, es la idea. Añades los campos que necesites y eliges el tipo de cada uno: texto, número, booleano, fecha, correo, UUID, nombre, DNI. El generador rellena cada campo con un dato coherente con su tipo.
Porque JSON usa números de coma flotante de doble precisión, y por encima de 9007199254740991 los enteros pierden precisión sin dar ningún error. Si tu API maneja identificadores largos, envíalos como cadena.
JSON no tiene tipo fecha, así que hay que elegir. La recomendación es ISO 8601 con zona horaria explícita: «2026-03-12T14:30:00Z». Es legible, ordena bien alfabéticamente y no admite interpretaciones.
No. Es válido en un objeto literal de JavaScript pero JSON lo prohíbe, igual que las comillas simples y los comentarios. Es una de las causas más frecuentes de errores de parseo en ficheros escritos a mano.
Sí, de 1 a 100, como array de objetos o como objeto único, con sangrado o minificado.
Es uno de sus usos principales, y es mucho mejor que copiar datos de producción: evitas el riesgo legal de manejar datos personales reales en un entorno de desarrollo.
Sigue probando