← 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.
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
- Sin
$refremotos. Solo se resuelven los punteros dentro del mismo esquema (#/$defs/…,#/definitions/…). Obtener otro archivo supondría una petición de red, justo lo que esta herramienta evita. formatno es una aserción. En los borradores recientesformates una anotación, no una restricción, y así se trata aquí: unformatdeemailno rechaza una dirección mal formada.- Algunas palabras clave no están implementadas:
patternProperties,unevaluatedProperties,if/then/else,dependentSchemas,contains. Un esquema que las use seguirá comprobando las demás, pero las no implementadas no se aplican, así que no leas un «válido» aquí como conformidad completa para un esquema construido sobre ellas. - El esquema no se meta-valida. Un esquema sintácticamente válido pero lógicamente erróneo puede simplemente no coincidir con nada; esta página comprueba el documento, no la corrección del propio esquema.
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.