← Volver a la herramienta JSON

Validador de JSON Schema

Última actualización: 2 de octubre de 2026

Comprueba un documento JSON contra un JSON Schema y ve cada restricción incumplida con la ruta donde falla. Tanto el documento como el esquema se analizan y se comprueban en tu navegador.

Se ejecuta en tu navegador Sin subir nada Errores por ruta Palabras clave de Draft 2020-12 Código abierto (MIT)

Qué comprueba

Un JSON Schema describe la forma que un documento tiene permitida: qué propiedades existen, de qué tipo son y qué rangos y patrones son aceptables. Esta página comprueba un documento contra un esquema y lista todos los puntos donde falla, cada uno con una ruta para que lo encuentres.

Las palabras clave admitidas son: type, const, enum, required, properties, additionalProperties, minProperties, maxProperties, items (un esquema, o una tupla de esquemas), minItems, maxItems, uniqueItems, minLength, maxLength, pattern, minimum, maximum, exclusiveMinimum, exclusiveMaximum, multipleOf, allOf, anyOf, oneOf, not y punteros $ref locales dentro del mismo esquema.

Lo que deliberadamente no hace

Cómo leer los errores

Cada fallo se informa en una ruta: $ es la raíz del documento, un punto entra en una propiedad y un corchete indexa un array. required se informa en el objeto que debía contener la propiedad —la restricción vive en el objeto, no en la propiedad ausente— con el nombre de la propiedad en el mensaje. anyOf y oneOf se informan una vez, en la instancia que falló, en lugar de una por rama; un muro de errores de ramas oculta el real.

Preguntas frecuentes

¿Qué palabras clave de JSON Schema son compatibles?

type, const, enum, required, properties, additionalProperties, minProperties, maxProperties, items (un solo esquema o una tupla de esquemas), minItems, maxItems, uniqueItems, minLength, maxLength, pattern, minimum, maximum, exclusiveMinimum, exclusiveMaximum, multipleOf, allOf, anyOf, oneOf, not y $ref locales.

¿Qué no se admite deliberadamente?

Los $ref remotos (solo se resuelven punteros dentro del mismo esquema), el format como aserción, patternProperties, unevaluatedProperties, if/then/else y dependentSchemas. Un esquema que los use seguirá comprobando las palabras clave anteriores, pero las no implementadas no se aplican, así que no tomes un «válido» aquí como conformidad completa para un esquema construido sobre ellas.

¿La validación se hace en un servidor?

No. Tanto el documento como el esquema se analizan con JSON.parse en tu navegador y se comprueban en memoria. No se sube nada y la página funciona sin conexión.

¿Por qué el error de propiedad requerida se informa en la ruta del padre?

Porque ahí está la restricción. JSON Schema aplica required al objeto, no a la propiedad que falta, así que el error se informa en la ruta del objeto —por ejemplo $ y no $.name— con el nombre de la propiedad en el mensaje.

¿Cómo se informan anyOf y oneOf?

Con un solo error en la instancia que falló, en lugar de uno por rama. anyOf falla cuando no coincide ninguna rama; oneOf falla cuando el número de ramas coincidentes no es exactamente uno, y el mensaje dice cuántas coincidieron. Informar de los errores internos de cada rama enterraría el real.

¿Me dice si el esquema está mal, o solo comprueba el documento?

Comprueba el documento contra el esquema. Si el esquema no es JSON válido se te dice aparte. No valida el esquema contra el metaesquema de JSON Schema, así que un esquema sintácticamente correcto pero lógicamente erróneo puede simplemente no coincidir con nada.

¿Necesitas comparar dos documentos? Comparar JSON lo hace. ¿Has encontrado un fallo? Escríbenos.