JSON Schema Validator
Checks a JSON document against a JSON Schema and reports every place it does not conform, with the path to each problem, the message, and the keyword that failed. Enter the schema, then a line containing "===", then the document.
Checks a JSON document against a JSON Schema and reports every place it does not conform, with the path to each problem, the message, and the keyword that failed. Enter the schema, then a line containing "===", then the document.
The schema itself is checked first, so a misspelled keyword is reported rather than quietly accepting any document. Drafts 4, 6, 7, 2019-09, and 2020-12 are all supported, chosen from the schema's $schema property and defaulting to 2020-12.
Use cases
- Finding why an API payload is rejected by a schema
- Checking a config file against its published schema before deploying
Examples
A conforming document
{"type": "object", "properties": {"name": {"type": "string"}}, "required": ["name"]}
===
{"name": "Ada"}{"valid": true, "draft": "Draft202012", "error_count": 0, "errors": []}FAQ
Is my data sent to a server?
Yes — validation runs on the server for this tool.
Does it stop at the first error?
No. Every failure is listed with its path, so a document can be fixed in one pass. Above 100 errors the list is capped, but the reported count stays accurate.
What if my schema itself has a mistake?
It is reported as an error. A schema with a misspelled keyword would otherwise accept every document, which is the most misleading way for a validator to fail.
Which draft is used?
The one named in the schema's $schema property. Without it, draft 2020-12 is assumed. The draft actually applied is included in the result.