Convertidor OpenAPI a JSON Schema — Gratis en línea

Extrae los components.schemas de documentos OpenAPI 3.0 a 3.2 a JSON Schema. La salida por defecto es Draft 2020-12 con $defs, y Draft-07 con definitions es opcional. Local en el navegador, sin subida.

Cargando…
Documentación OpenAPI a JSON Schema
Extrae components.schemas OpenAPI a JSON Schema (2020-12 o Draft-07).

Notas para desarrolladores

Los esquemas OpenAPI 3.0 se convierten con @openapi-contrib/openapi-schema-to-json-schema. OpenAPI 3.1 / 3.2 usan un strip best-effort de palabras clave solo OAS. Salida predeterminada: $schema 2020-12 + $defs; remap opcional a Draft-07 ($schema + definitions + refs #/definitions). Conversión en vivo al pegar/ejemplo; Convertir explícito (⌘↵) para ediciones manuales; entrada Monaco JSON/YAML + salida Shiki JSON. components.schemas vacío → error. $ref externos rechazados. Máximo de entrada 512 KiB.

Opciones

Draft de destino
2020-12 (predeterminado) emite $schema y $defs. Draft-07 cambia a la URI $schema de Draft-07, usa definitions en lugar de $defs y reescribe las referencias como #/definitions/…. Es solo un cambio de nombres estructural: las palabras clave exclusivas de 2020-12 no se reescriben.

Cuándo elegir esta herramienta

Reutilizar modelos OpenAPI como JSON Schema independiente. Alimentar los esquemas extraídos al validador de JSON Schema. Comparar formas de esquema fuera de un documento OpenAPI completo.

Ejemplos prácticos

OpenAPI YAML → JSON Schema $defs

Antes

openapi: "3.0.3" info: title: Pets version: 1.0.0 paths: {} components: schemas: Foo: type: object properties: id: type: string Bar: type: object properties: name: type: string

Después

{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$defs": { "Foo": { ... }, "Bar": { ... } } }

Esquemas vacíos rechazados

Antes

openapi: "3.0.3" info: title: t version: "1" paths: {} components: schemas: {}

Después

Error: components.schemas vacío

FAQ de OpenAPI a JSON Schema

Preguntas frecuentes

¿La conversión 3.1 es idéntica a Draft-07?

No. La conversión de OpenAPI 3.1/3.2 elimina palabras clave sin garantía de cobertura completa. La salida predeterminada es Draft 2020-12 ($defs). Elige Draft-07 para una reasignación estructural (definitions y el $schema de Draft-07), que no reescribe todas las palabras clave. Consulta Opciones.

¿Qué pasa si no hay esquema Root?

Todos los esquemas quedan bajo $defs (o definitions si eliges Draft-07), sin un tipo ni propiedades raíz inventados. Un esquema llamado Root también obtiene un $ref de nivel superior hacia esa entrada.

¿Herramientas relacionadas?

Convierte al revés con JSON Schema a OpenAPI o comprueba la fuente OpenAPI con Validar OpenAPI.

Herramientas OpenAPI para formatear, validar y analizar tus specs.