The validator compiles the pasted schema with Ajv, renders its properties and constraints as a contract tree, and maps each validation error to an instance JSON Pointer. Selecting an error highlights the matching contract path.
This version supports Draft 2020-12 and Draft-07, common string formats, boolean schemas, and local references beginning with #. Remote and file references are rejected instead of being fetched or silently ignored.
Parsing, schema compilation, format checks, contract-tree generation, and validation all run locally in the browser. The tool does not upload the schema, instance data, or validation output.
Common questions and answers about this topic.
Paste the schema in the first editor and the JSON instance in the second. The tool compiles the schema and immediately lists each failing JSON Pointer, keyword, and matching schema path.
Draft 2020-12 and Draft-07 are supported. A schema without a $schema declaration is treated as Draft 2020-12. Other dialects fail explicitly rather than falling back to a different draft.
It identifies the exact location in the JSON instance that failed validation. For required or additional properties, the tool extends Ajv's parent path to point directly at the affected property.
Yes, local references such as #/$defs/User and #/definitions/User are resolved within the pasted schema. Remote URLs and file references are not fetched.
JSON syntax only determines whether the text can be parsed. JSON Schema adds contract rules such as required properties, value types, formats, ranges, patterns, and allowed enum values.
No. Parsing, schema compilation, format checks, contract-tree generation, and validation run in your browser. Remote references are rejected, so the validator does not fetch external schema content either.