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.

Ad placeholder: Resp_Horizantal_1 (horizontal)
Ad placeholder: Resp_Square_1 (square)

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.