Generador de JSON Schema Gratis
Genera JSON Schema a partir de tus datos JSON automáticamente. Gratis, rápido y funciona por completo en tu navegador sin necesidad de registro.
Actualizado
JSON Schema Generator
Generate JSON Schema with format detection, constraints, and support for multiple draft versions.
Generation OptionsShow
JSON Input
Generated Schema12 props, depth 2
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"minLength": 1,
"maxLength": 255,
"description": "Id"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "Name"
},
"email": {
"type": "string",
"format": "email",
"minLength": 1,
"maxLength": 255,
"description": "Email"
},
"age": {
"type": "integer",
"minimum": 0,
"maximum": 1000000,
"description": "Age"
},
"isActive": {
"type": "boolean",
"description": "Is active"
},
"website": {
"type": "string",
"format": "uri",
"minLength": 1,
"maxLength": 255,
"description": "Website"
},
"createdAt": {
"type": "string",
"format": "date-time",
"minLength": 1,
"maxLength": 255,
"description": "Created at"
},
"tags": {
"type": "array",
"items": {
"type": "string",
"format": "hostname",
"minLength": 1,
"maxLength": 255,
"description": "Item0"
},
"minItems": 1,
"maxItems": 100,
"uniqueItems": true,
"description": "Tags"
},
"address": {
"type": "object",
"properties": {
"street": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "Street"
},
"city": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "City"
},
"zipCode": {
"type": "string",
"format": "hostname",
"minLength": 1,
"maxLength": 255,
"description": "Zip code"
}
},
"additionalProperties": false,
"required": [
"street",
"city",
"zipCode"
],
"description": "Address"
}
},
"additionalProperties": false,
"required": [
"id",
"name",
"email",
"age",
"isActive",
"website",
"createdAt",
"tags",
"address"
]
}Preguntas Frecuentes
¿Qué es el JSON Schema Generator?
El JSON Schema Generator es una herramienta en línea gratuita que crea automáticamente definiciones de JSON Schema a partir de datos JSON de ejemplo, para validar y documentar API.
¿Es gratuito el JSON Schema Generator?
Sí, es completamente gratuito y no requiere registro. Toda la generación del esquema se realiza en el lado del cliente, dentro de tu navegador.
¿Almacena mis datos JSON?
No, todo el procesamiento se realiza localmente en tu navegador. Tus datos JSON nunca se envían a ningún servidor.
¿Funciona el JSON Schema Generator en dispositivos móviles?
Sí, el JSON Schema Generator es totalmente adaptable y funciona en smartphones y tabletas. Puedes usarlo en cualquier dispositivo con un navegador web moderno, sin necesidad de descargar ninguna aplicación.
¿Necesito crear una cuenta para usar esta herramienta?
No se necesita ninguna cuenta ni registro. Simplemente abre el JSON Schema Generator en tu navegador y empieza a usarlo de inmediato. No hay muros de registro ni restricciones de uso.
¿Qué lenguajes de programación o formatos admite?
El JSON Schema Generator admite una amplia variedad de formatos y lenguajes populares. Consulta la interfaz de la herramienta para ver la lista completa de opciones compatibles.
¿Cómo uso el JSON Schema Generator?
Simplemente introduce tu contenido en el campo correspondiente, ajusta las opciones a tu gusto y la herramienta lo procesará al instante. Luego puedes copiar el resultado al portapapeles o descargarlo.
¿Qué navegadores son compatibles?
El JSON Schema Generator funciona en todos los navegadores modernos, incluidos Chrome, Firefox, Safari, Edge y Opera. Para una mejor experiencia, usa la última versión de tu navegador preferido.
¿Cuál es la diferencia entre JSON y JSON Schema?
JSON son los datos en sí — el objeto real con valores concretos, como el registro de un usuario o la respuesta de una API. JSON Schema es un documento aparte que describe la forma de esos datos: qué campos existen, de qué tipo es cada uno (string, integer, boolean, array, object), cuáles son obligatorios y qué valores se permiten. Piensa en el JSON como un formulario rellenado y en el JSON Schema como la plantilla en blanco junto con sus reglas. Los validadores leen el schema para comprobar si un payload JSON determinado cumple con él antes de que tu código confíe en esos datos, que es como las APIs detectan solicitudes malformadas a tiempo. Escribes JSON a mano constantemente, pero escribir el schema correspondiente es tedioso cuando los datos están anidados. Esta herramienta invierte ese proceso: pega un objeto JSON de ejemplo y ella infiere un schema completo para que lo termines de ajustar.
¿Qué versión de draft de JSON Schema debería elegir?
Este generador admite cuatro drafts, y la versión correcta depende de tu validador. Draft-07 es el valor por defecto recomendado para proyectos nuevos — es el más compatible entre librerías como Ajv, y es el que asumen la mayoría de los tutoriales. Elige Draft-04 solo si trabajas con herramientas antiguas o heredadas que no se han actualizado. Draft-2019-09 introdujo $defs y las referencias recursivas, mientras que Draft-2020-12 es el más reciente y usa palabras clave de array actualizadas y $dynamicRef; elige estas versiones cuando tu stack las admita explícitamente o cuando necesites sus funciones más nuevas. Cambiar la versión aquí actualiza la URL de $schema en la parte superior del resultado, para que tu validador cargue el conjunto de reglas correcto. Si tienes dudas, empieza con Draft-07 en el selector de versión y cámbialo después si alguna herramienta se queja.
¿Por qué el schema generado incluye additionalProperties: false?
Por defecto, esta herramienta añade additionalProperties: false a cada objeto, lo que indica al validador que rechace cualquier payload que contenga claves ausentes en tu muestra. Es un punto de partida deliberadamente estricto: fija el contrato exactamente a los campos que proporcionaste, de modo que las claves inesperadas o mal escritas fallan la validación en lugar de pasar desapercibidas. Esto es ideal para APIs internas donde quieres una forma estricta y predecible. Sin embargo, puede resultar demasiado rígido para APIs públicas o en evolución que puedan añadir campos opcionales con el tiempo — en esos casos, un campo nuevo rompería a los clientes que usan el schema estricto. La solución es sencilla: elimina esa línea o cámbiala a true para permitir propiedades adicionales. Genera tu schema aquí y luego relaja additionalProperties en los objetos donde tu API realmente permita extensión.
¿Cómo decide la herramienta qué campos son obligatorios?
El generador enumera todas las claves no nulas de tu muestra dentro del array required del schema, bajo la suposición de que un campo presente en tu ejemplo se espera que también esté presente en los datos reales. También separa integer de number para que los números enteros queden tipados con precisión, y con la detección de formato activada etiqueta las cadenas que coinciden con patrones conocidos como email, uri, date-time, uuid, ipv4 e ipv6. La advertencia importante es que los campos obligatorios reflejan una sola muestra. Si una clave está ausente o es nula en un payload pero en la práctica es opcional, la herramienta no puede saberlo a partir de un solo ejemplo — así que revisa la lista required y elimina los campos que sean realmente opcionales antes de publicar. Trata el resultado como un buen primer borrador. Pega tu muestra más completa y representativa para obtener de esta herramienta la inferencia de campos obligatorios más precisa.
¿Son seguras de usar tal cual las restricciones minLength y minimum del schema?
No sin revisarlas antes. Cuando activas las restricciones, la herramienta añade límites inferidos de tu muestra — minLength y maxLength para strings, minimum y maximum para números, y minItems, maxItems y uniqueItems para arrays cuando los elementos de la muestra son todos distintos. Estos valores se calculan a partir de un solo ejemplo, así que describen lo que tu muestra contenía por casualidad, no las verdaderas reglas de negocio. Por ejemplo, si el nombre de usuario de tu muestra tenía ocho caracteres, el maxLength podría fijarse en ocho aunque nombres más largos sean válidos, lo que rechazaría erróneamente datos reales. Trata cada restricción generada como un valor por defecto razonable para ajustar o relajar, nunca como una regla definitiva. La insignia de estadísticas que muestra el número de propiedades y la profundidad de anidamiento te ayuda a confirmar que la estructura coincide con lo esperado. Genera el schema aquí y luego ajusta los límites según los rangos reales de tus datos antes de desplegarlo.
Herramientas Relacionadas
Generador gratis de JSON a tipos
Convierte JSON en interfaces de TypeScript, structs de Go o tipos de Rust. Gratis, rápido y funciona por completo en tu navegador sin necesidad de registro.
Protobuf a JSON Schema
Convierte definiciones proto3 a JSON Schema, interfaces TypeScript y JSON de ejemplo. Admite messages, enums, tipos anidados, oneof, map y repeated.
Visor de especificaciones OpenAPI
Analiza y explora especificaciones OpenAPI/Swagger con navegación de endpoints, inspección de esquemas y generación de cURL. Gratis, rápido y funciona por completo en tu navegador sin necesidad de registro.
Probador de API Online Gratis
Prueba APIs REST con solicitudes GET, POST, PUT y DELETE. Gratis, rápido y funciona por completo en tu navegador sin necesidad de registro.
Acerca del Generador de JSON Schema
El Generador de JSON Schema convierte una muestra de datos JSON en una definición completa de JSON Schema. Pega una respuesta real de una API, un archivo de configuración o cualquier objeto JSON, y la herramienta infiere los tipos, la estructura y las restricciones por ti, para luego mostrar un schema listo para usar que puedes copiar o descargar. Está pensada para desarrolladores backend y de API, ingenieros de integración, y cualquiera que necesite un contrato para sus datos sin tener que escribir a mano un schema anidado.
JSON Schema es el vocabulario estándar para describir la forma de un JSON: qué campos existen, de qué tipo es cada uno, cuáles son obligatorios y qué valores se permiten. Escribirlo manualmente es tedioso y propenso a errores en cuanto el objeto deja de ser plano. Este generador resuelve automáticamente el 90 por ciento del trabajo para que tú solo tengas que afinar el 10 por ciento restante.
Todo se ejecuta en tu navegador. El JSON que pegas se analiza en tu propio dispositivo — nunca se sube a un servidor. Eso significa que puedes pegar con tranquilidad un payload de producción, una muestra interna de una API o una configuración con secretos de ejemplo sin que salga de tu equipo. No hay registro, no hay límite de uso y no hay nada que instalar.
Qué genera a partir de tu JSON
El generador recorre tus datos de forma recursiva y construye un schema tipado que refleja su estructura:
- Inferencia de tipos — distingue
string,boolean,null,arrayyobject, y separaintegerdenumberpara que los números enteros queden tipados con precisión. - Objetos y arrays anidados — desciende por cada nivel, generando un bloque
propertiespor cada objeto y un schemaitemspara los arrays según los elementos encontrados. - Campos obligatorios — enumera las claves no nulas dentro de
required, ya que su presencia en tu muestra implica que se esperan siempre. - Título y descripción — agrega un título y una descripción opcionales al schema, o deja que la herramienta genere descripciones por propiedad a partir del nombre del campo (así,
createdAtse convierte en "Created at").
Por defecto también establece additionalProperties: false, lo que restringe el schema exactamente a las claves de tu muestra — un punto de partida estricto que puedes relajar si tu API admite campos adicionales.
Detección de formato y restricciones
Más allá de los tipos básicos, el generador reconoce formatos de string comunes y añade pistas de validación. Activa la detección de formato y etiquetará las cadenas que coincidan con patrones conocidos: email, uri, date-time, date, time, uuid, ipv4, ipv6 y hostname. Así, un valor como john@example.com se tipa como string con "format": "email", y un UUID se reconoce automáticamente.
Activa las restricciones y la herramienta añadirá límites que podrás ajustar después: minLength/maxLength para strings, minimum/maximum para números, y minItems/maxItems más uniqueItems para arrays cuando los elementos de la muestra son todos distintos. Estos valores se infieren de tu ejemplo, así que trátalos como valores por defecto razonables y no como reglas definitivas.
Cómo elegir una versión de draft
JSON Schema ha evolucionado a través de varios drafts de especificación, y los validadores admiten versiones distintas. El generador te permite elegir entre cuatro:
- Draft-04 — el más antiguo, todavía muy presente en herramientas heredadas.
- Draft-07 — el más utilizado y el valor por defecto recomendado para proyectos nuevos.
- Draft-2019-09 — introdujo
$defsy las referencias recursivas. - Draft-2020-12 — el más reciente, con
$dynamicRefy palabras clave de array actualizadas.
Cambiar la versión actualiza la URL de $schema en la parte superior del resultado, para que tu validador cargue las reglas correctas. Una insignia de estadísticas en vivo muestra el número total de propiedades y la profundidad de anidamiento, una comprobación rápida de que un payload grande generó la estructura esperada.
Un schema generado es un buen borrador, no una verdad absoluta: los tipos y los campos obligatorios reflejan una sola muestra, así que revisa la opcionalidad y ajusta las restricciones contra tus datos reales antes de publicarlo como contrato de API. Usa el botón de formato integrado para limpiar entradas desordenadas, y luego copia o descarga el resultado como archivo .json listo para incorporar en tu capa de validación o en tu definición de OpenAPI.