Generador de JSON Schema
Genera un JSON Schema Draft-07 o Draft 2020-12 completo desde cualquier carga útil JSON al instante en tu navegador. Infiere tipos, campos requeridos, formatos de cadena y estructuras de objetos anidados. Totalmente en el lado del cliente: tus datos nunca salen de tu dispositivo.
Paste or upload a JSON payload to instantly generate a complete JSON Schema. Supports Draft-07 and Draft 2020-12 with configurable required fields, format detection, and description placeholders. All processing happens locally in your browser.
Optional title added to the root schema object
¿Por qué usar nuestro generador de JSON Schema?
- Inferencia de esquemas instantánea: genera un JSON Schema completo desde cualquier carga útil JSON en milisegundos. El motor recorre cada objeto y array anidado, infiere tipos, detecta formatos de cadena y construye un esquema totalmente estructurado sin procesamiento en servidor.
- Privacidad de datos total: tus cargas útiles JSON nunca salen de tu dispositivo. Toda la generación de esquemas se ejecuta localmente en tu navegador, lo que hace que esta herramienta sea segura para respuestas de API, registros de base de datos y cualquier dato empresarial sensible que necesites documentar.
- Draft-07 y Draft 2020-12: elige entre JSON Schema Draft-07 (ampliamente soportado por validadores como AJV y jsonschema) y la moderna especificación Draft 2020-12. Ambas salidas incluyen el URI $schema correcto, arrays required y anotaciones de formato.
- 100 % gratis, sin límites: sin suscripciones, sin topes de tamaño de archivo, sin cuotas de uso y sin cuenta. Genera JSON Schemas a partir de cargas útiles de cualquier tamaño tantas veces como necesites, totalmente gratis para siempre.
Casos de uso comunes del generador de JSON Schema
- Documentación de API: genera JSON Schemas a partir de cargas útiles reales de respuestas de API para documentar los cuerpos de solicitud y respuesta en especificaciones OpenAPI. Pega una respuesta de API real y obtén un esquema listo para usar que refleja con precisión la estructura de datos que devuelven tus endpoints.
- Validación en tiempo de ejecución: crea esquemas de validación para AJV, jsonschema o Zod a partir de datos JSON existentes. Usa el esquema Draft-07 generado directamente en middleware de validación de Node.js, Python o Go para hacer cumplir los contratos de datos en los límites de la API y evitar que cargas útiles mal formadas lleguen a tu base de datos.
- Generación de tipos TypeScript: usa el JSON Schema generado como entrada para herramientas como json-schema-to-typescript o quicktype y producir automáticamente interfaces y tipos de TypeScript. Empieza con una carga útil JSON real y termina con interfaces precisas y fuertemente tipadas sin escribirlas a mano.
- Diseño de esquemas de base de datos: genera esquemas a partir de documentos MongoDB o exportaciones de elementos de DynamoDB para entender la forma de tus datos antes de diseñar índices o migrar a una base de datos relacional. Los campos requeridos y los tipos inferidos te dan un punto de partida para definiciones de columnas y restricciones.
- Configuración de constructores de formularios: genera JSON Schemas para alimentar constructores de formularios dinámicos como react-jsonschema-form o JSON Forms. Añade marcadores de posición de descripción con la opción del generador y luego rellénalos para crear etiquetas y textos de ayuda legibles para cada campo de tu formulario.
- Pruebas de contratos de datos: captura el esquema de una respuesta de API conocida como buena y úsalo como contrato en pruebas de contrato orientadas al consumidor con Pact o frameworks similares. Detecta cambios incompatibles cuando un proveedor elimina un campo requerido o cambia el tipo de una propiedad entre versiones.
¿Qué es el generador de JSON Schema?
El generador de JSON Schema analiza una carga útil JSON y produce un documento JSON Schema completo y conforme al estándar, enteramente en tu navegador. Admite tanto JSON Schema Draft-07 —la versión más ampliamente desplegada, soportada por AJV, jsonschema y la mayoría de las herramientas OpenAPI— como la moderna especificación Draft 2020-12 usada por validadores y generadores de código más recientes. Nunca se envían datos a un servidor.
Draft-07 frente a Draft 2020-12: Draft-07 usa el URI http://json-schema.org/draft-07/schema# y es la opción más segura para máxima compatibilidad con los validadores existentes, las herramientas de OpenAPI 3.0 y los generadores de código. Draft 2020-12 usa el URI HTTPS https://json-schema.org/draft/2020-12/schema e introduce una semántica más limpia para $ref , unevaluatedProperties y los elementos de prefijo. Elige 2020-12 cuando apuntes a AJV 8+, a la cadena de herramientas json-schema-to-typescript v12+ de TypeScript, o a cualquier validador que soporte explícitamente la especificación más reciente.
Inferencia de tipos
El generador recorre cada valor del documento de entrada y lo asigna al tipo correcto de JSON Schema. Las cadenas JSON se convierten en "type": "string" , los enteros en "type": "integer" , los números de punto flotante en "type": "number" , los booleanos en "type": "boolean" y los valores null en "type": "null" . Los objetos anidados se procesan de forma recursiva en subesquemas properties y los arrays se analizan para producir un esquema items .
Inferencia de campos requeridos
Cuando la opción «Inferir campos requeridos» está activada, el generador añade un array required a cada esquema de objeto con cada clave cuyo valor no sea null . Para arrays de objetos con la opción «Fusionar esquemas de elementos de array» activada, una clave solo se marca como requerida si aparece en todos los elementos del array, lo que te da un conjunto conservador de campos requeridos que refleja los datos reales y no una sola muestra.
Fusión de esquemas de elementos de array: cuando un array contiene varios objetos, la opción «Fusionar esquemas de elementos de array» combina todos los esquemas de los elementos en un único esquema representativo. Las propiedades que aparecen en todos los elementos se marcan como requeridas; las que aparecen solo en algunos se incluyen pero no como requeridas. Esto produce un esquema items más preciso que usar solo el primer elemento, especialmente en arrays heterogéneos de respuestas de API reales.
Detección de formatos de cadena
El generador reconoce automáticamente seis formatos de cadena comunes. Las cadenas date-time ISO 8601 como 2024-03-15T10:30:00Z se anotan con format: date-time . Las fechas simples como 2024-03-15 reciben format: date . Las direcciones de correo electrónico, las URIs HTTP/HTTPS, las cadenas UUID v4 y las direcciones IPv4 se detectan y anotan con sus respectivas palabras clave de formato. Desactiva esta opción si necesitas que todas las cadenas queden sin anotar.
Marcadores de posición de descripción: activar «Añadir marcadores de posición de descripción» inserta una cadena description vacía en cada propiedad y esquema de objeto. Esto es útil cuando planeas usar el esquema generado como punto de partida para documentación de API o la configuración de un constructor de formularios: puedes rellenar las descripciones sin tener que añadir las claves manualmente a cada propiedad.
Preguntas frecuentes
Un JSON Schema es un vocabulario que describe la estructura, los tipos y las restricciones de un documento JSON. Se usa para validación en tiempo de ejecución, documentación de API en especificaciones OpenAPI, generación de tipos TypeScript y configuración de constructores de formularios. Este generador de JSON Schema crea uno automáticamente a partir de cualquier carga útil JSON existente.
Draft-07 es la versión más ampliamente soportada, compatible con AJV, jsonschema y las herramientas de OpenAPI 3.0. Draft 2020-12 es la especificación más reciente, con una semántica de $ref más limpia y nuevas palabras clave como unevaluatedProperties. Elige Draft-07 para máxima compatibilidad y Draft 2020-12 cuando apuntes a validadores modernos como AJV 8+.
Cuando «Inferir campos requeridos» está activado, cada propiedad cuyo valor no sea null se añade al array required. Para arrays de objetos con la fusión activada, un campo solo se marca como requerido si aparece en todos los elementos del array. Esto ofrece un conjunto de campos requeridos conservador que refleja los datos reales y no una sola muestra.
El generador detecta seis formatos: date-time (ISO 8601 con hora), date (solo fecha ISO 8601), direcciones de correo electrónico, URIs HTTP/HTTPS, cadenas UUID v4 y direcciones IPv4. Cada uno se anota con la palabra clave format correspondiente de JSON Schema. Desactiva «Detectar formatos de cadena» si necesitas que todas las cadenas queden sin anotar.
Cuando está activado, el generador combina los esquemas de todos los objetos de un array en un único esquema items representativo. Las propiedades presentes en todos los elementos se marcan como requeridas; las presentes solo en algunos se incluyen pero como opcionales. Esto produce un esquema más preciso que usar solo el primer elemento del array.
Sí. El esquema Draft-07 generado se puede usar de inmediato con AJV, jsonschema (Python) y la mayoría de los demás validadores. Copia la salida, guárdala como archivo .json y pásala a tu validador. Para AJV 8+ también puedes usar la salida Draft 2020-12 seleccionando esa opción antes de generar.
Por completo. Toda la generación de esquemas se ejecuta localmente en tu navegador sin subidas a servidores. Tus cargas útiles JSON, respuestas de API y registros de base de datos nunca salen de tu dispositivo. Esto hace que la herramienta sea segura para datos empresariales sensibles, credenciales y cualquier estructura JSON propietaria que necesites documentar.