Generar JSON Schema
Genera JSON Schema desde cualquier JSON. Ideal para validación de APIs y documentación.
Por qué usarlo
APIs documentadas y validadas automáticamente
Draft 2020-12
Genera schemas compatibles con el último estándar IETF y OpenAPI 3.1.
Privado
El JSON se procesa en tu navegador. Nunca se envía a ningún servidor.
Tipos inferidos
Detecta strings, números, booleanos, arrays y objetos anidados automáticamente.
Instantáneo
Schema generado en milisegundos. Sin registro, sin esperas.
Cómo funciona
Tres pasos, sin complicaciones
Pega tu JSON
Pega cualquier objeto JSON válido. El generador analiza la estructura y tipos de cada campo.
Revisa el schema generado
El JSON Schema aparece con tipos inferidos, propiedades requeridas y descripciones opcionales.
Copia o descarga el schema
Usa el schema en tu API, validador (ajv, zod) o documentación OpenAPI. Copia con un clic.
Preguntas frecuentes
¿Tienes dudas?
JSON Schema es un vocabulario que permite anotar y validar documentos JSON, definido como borrador IETF. Describe la estructura esperada de un JSON: qué propiedades debe tener, de qué tipo (string, number, array, object), cuáles son obligatorias, rangos de valores válidos, patrones regex para strings, y más. Es el estándar de facto para documentar y validar APIs REST, contratos de datos y configuraciones de aplicaciones.
La versión más reciente es JSON Schema draft 2020-12, publicada en diciembre de 2020. Introduce mejoras en $ref (ahora puede combinarse con otras palabras clave), prefixItems para arrays de tuplas, y el vocabulario unevaluatedProperties. Para compatibilidad con herramientas más antiguas, draft-07 sigue siendo muy utilizado. OpenAPI 3.1 adopta JSON Schema draft 2020-12 como subconjunto, por lo que si usas OpenAPI 3.1 debes usar 2020-12.
En JSON Schema, la palabra clave 'required' es un array de strings con los nombres de propiedades que deben estar presentes en el objeto. Una propiedad definida en 'properties' pero no listada en 'required' es implícitamente opcional: puede estar presente o ausente sin que la validación falle. La distinción es crítica para APIs: un campo required faltante en una petición debe devolver un error 400, mientras que un campo opcional ausente simplemente usa el valor por defecto.
Para arrays de objetos se usa 'type': 'array' con 'items' apuntando al schema del objeto contenido. Por ejemplo: { 'type': 'array', 'items': { 'type': 'object', 'properties': { ... } } }. También puedes definir 'minItems' y 'maxItems' para controlar la longitud del array, y 'uniqueItems': true para requerir que no haya duplicados. Para arrays de longitud fija con tipos heterogéneos, usa 'prefixItems' (draft 2020-12) o 'items' como array (draft-07).
$ref es una palabra clave JSON Schema que referencia otro schema por URI, permitiendo definiciones reutilizables. Se usa con $defs (draft 2020-12) o definitions (draft-07) para evitar repetir la misma estructura. Por ejemplo, un schema de 'Address' definido una vez puede ser referenciado desde 'billingAddress' y 'shippingAddress'. Esto reduce la redundancia, facilita el mantenimiento y es esencial para schemas de OpenAPI con modelos compartidos entre múltiples endpoints.
Historia de JSON Schema y el ecosistema de validación
JSON Schema fue propuesto por Kris Zyp en 2009 como especificación informal, publicada en el blog de SitePen. La primera versión formal como borrador IETF fue draft-00 en 2010. Desde entonces han existido múltiples revisiones (draft-01 a draft-07, luego 2019-09 y 2020-12) sin llegar a ser un RFC oficial, aunque es ampliamente adoptado como estándar de facto. El proceso de estandarización IETF requiere implementaciones de referencia y pruebas de interoperabilidad, lo cual la comunidad JSON Schema está completando activamente.
La integración de JSON Schema con OpenAPI es fundamental en el desarrollo de APIs modernas. OpenAPI 2.0 (Swagger) usaba un subconjunto limitado de JSON Schema draft-04. OpenAPI 3.0 mejoró la compatibilidad pero mantuvo extensiones propias como 'nullable'. OpenAPI 3.1 adoptó JSON Schema draft 2020-12 completo, eliminando las discrepancias. Las principales bibliotecas de validación incluyen ajv (Another JSON Schema Validator, JavaScript, con soporte draft 2020-12), jsonschema (Python), json-schema-validator (Java) y NJsonSchema (.NET).
Zod, TypeBox y Yup representan una evolución donde el schema y la validación se definen en TypeScript con inferencia de tipos automática, generando JSON Schema como salida (no como entrada). Este patrón 'schema-first with type inference' está desplazando el uso directo de JSON Schema en proyectos TypeScript modernos, aunque JSON Schema sigue siendo indispensable para validación cross-language, contratos de API entre equipos con diferentes stacks tecnológicos, y documentación de eventos en arquitecturas orientadas a eventos (AsyncAPI).