Validador de JSON Schema

Valida JSON contra un JSON Schema (draft-07 o 2020-12) con rutas de error claras, o genera un esquema a partir de un ejemplo. Nada se sube.

🌐 English

🔒 Privado por diseño: tu texto se procesa localmente en tu navegador; nada se sube nunca a ningún servidor.

Cómo validar JSON contra un JSON Schema

  1. Pega el documento JSON que quieres comprobar en la primera caja (etiquetada “Texto original”).
  2. Pega el JSON Schema contra el que validarlo en la segunda caja (etiquetada “Texto modificado”).
  3. Elige el draft de JSON Schema para el que se escribió tu esquema, draft-07 (el valor por defecto, y el más común en la práctica) o 2020-12 (el draft actual y más reciente).
  4. Haz clic en el botón. El resultado muestra si el documento es válido y, si no, una lista numerada de cada error con su ubicación exacta.

Para generar un esquema inicial en lugar de validar uno, cambia el Modo a “Generar un esquema a partir de un ejemplo”, pega un documento JSON de ejemplo real en la primera caja, y haz clic en el botón, vuelve un JSON Schema listo para copiar.

Por qué importan las “rutas de error claras”

La mayoría de los validadores rápidos de JSON Schema online simplemente dicen “inválido” y se detienen ahí, dejándote comparar manualmente un documento grande contra un esquema grande línea por línea. Esta herramienta usa Ajv, el mismo motor real de validación de JSON Schema usado por innumerables aplicaciones de producción en Node.js y navegador, y convierte su salida de error en bruto en una lista en lenguaje llano, cada una mostrando el punto exacto en el documento (como una ruta /items/2/price) y qué está mal en él. Depurar una prueba de contrato de API fallida, un archivo de configuración roto, o un payload de webhook malformado normalmente se reduce a encontrar el ÚNICO campo que está mal, esta herramienta apunta directamente a él en lugar de hacerte adivinar.

Dos drafts, porque los esquemas reales usan ambos

JSON Schema ha evolucionado a través de varios drafts, y los dos que realmente importan hoy son draft-07 (todavía el más común, la versión a la que apuntan la mayoría de esquemas existentes, tutoriales y especificaciones OpenAPI 3.0) y 2020-12 (el draft actual, usado por OpenAPI 3.1 y herramientas de generación de esquemas más nuevas). Elegir el draft equivocado puede cambiar silenciosamente el comportamiento de validación para ciertas características del esquema, así que esta herramienta te deja elegir explícitamente en lugar de adivinar, y valida contra el conjunto de reglas real y correcto para el que elijas.

Tus datos nunca salen de tu navegador

Los cuerpos de petición de API, los payloads de webhook y los archivos de configuración a menudo contienen datos reales de clientes, identificadores internos o credenciales, no algo que quieras pegar en una web cualquiera que silenciosamente lo envíe a un servidor para “validarlo”. Esta herramienta carga toda la librería de validación Ajv en tu pestaña del navegador y ejecuta cada paso de análisis, compilación y validación localmente. Nada de lo que escribas se transmite, registra ni almacena jamás en ningún sitio, y cerrar la pestaña no deja rastro.

Usos habituales

Cómo funciona, en imágenes

Captura de pantalla de la herramienta Validador de JSON Schema con la entrada de ejemplo «{"slug":"compress-pdf","uploads":false}», Mode en Validate JSON against a schema, JSON Schema draft en Draft-07 (most common)
Validador de JSON Schema en pleno proceso: la entrada de ejemplo «{"slug":"compress-pdf","uploads":false}», Mode en Validate JSON against a schema, JSON Schema draft en Draft-07 (most common).
Captura de pantalla del resultado de Validador de JSON Schema mostrando la salida generada «=== VALIDATION RESULT === Draft: JSON Schema dra…»
El resultado final: la salida generada «=== VALIDATION RESULT === Draft: JSON Schema dra…». El enlace de descarga es una URL blob local: el archivo nunca sale de tu dispositivo.

Preguntas frecuentes

¿En qué caja pego el documento JSON, y en cuál el esquema?

Esta herramienta reutiliza el diseño de dos cajas de comparación de texto del sitio, así que las etiquetas son genéricas. En el modo "Validar", pega el documento JSON que quieres comprobar en la caja etiquetada "Texto original", y el JSON Schema en la caja etiquetada "Texto modificado". En el modo "Generar un esquema a partir de un ejemplo", solo se usa la primera caja, pega ahí tu JSON de ejemplo y la segunda caja se ignora.

¿Se envía mi JSON a un servidor en algún momento?

No. Todo se ejecuta enteramente dentro de tu pestaña del navegador usando una librería real de validación de JSON Schema (Ajv) cargada en la página, nada de lo que pegues se sube, registra ni almacena en ningún sitio. Esto importa para payloads de API, archivos de configuración o datos de contrato que puedan contener información real de clientes o credenciales.

¿Qué significan realmente los mensajes de error?

Cada error empieza con una ruta JSON Pointer (como /user/age, o "(root)" para el documento completo) que muestra exactamente dónde está el problema, seguida de una descripción en lenguaje llano de qué está mal (por ejemplo, "must be >= 0" o "must have required property 'name'"). Si hay varias cosas mal, se listan y numeran todos los errores para que puedas corregirlos uno a uno.

¿Qué drafts de JSON Schema están soportados?

Draft-07 (la versión más ampliamente usada, y todavía lo que apuntan la mayoría de APIs reales y documentos OpenAPI 3.0) y 2020-12 (el draft actual y más reciente, usado por OpenAPI 3.1 y herramientas más nuevas). Los drafts más antiguos (draft-04, draft-06) y el draft intermedio 2019-09 no se ofrecen como opciones, ya que draft-07 y 2020-12 ya cubren casi cualquier esquema que encontrarás en la práctica.

¿Esto comprueba palabras clave de "format" como email o date-time?

No, las palabras clave de formato como "email", "date-time" o "uri" se aceptan en un esquema pero no se validan realmente contra el documento, para mantener esta herramienta ligera. Si tu esquema depende de comprobaciones de formato para detectar datos inválidos, necesitarás una herramienta que incluya el complemento separado ajv-formats que esta deliberadamente no empaqueta.

¿Cómo decide "Generar un esquema a partir de un ejemplo" qué es obligatorio?

Cada clave presente en tu ejemplo se marca como obligatoria, ya que ese único ejemplo es la única evidencia disponible, si un campo es genuinamente opcional, tendrás que eliminarlo a mano de la lista "required" generada. Para un array de objetos similares, el generador fusiona cada elemento, conservando solo las claves que aparecen en TODOS ellos como obligatorias, para que un campo ausente en un solo elemento de muestra no se marque erróneamente como obligatorio.

¿Hay un límite de tamaño de archivo?

No hay ningún límite estricto impuesto por la propia herramienta, pero como tanto el documento como el esquema se pegan como texto plano y se validan de forma síncrona en tu pestaña del navegador, un documento extremadamente grande (varios megabytes) o un esquema muy profundamente anidado puede sentirse lento en un dispositivo antiguo. Los payloads de API y archivos de configuración típicos se validan al instante.

Herramientas relacionadas