json schema validator
runs in your browser, nothing is uploaded
IDLE
Check a JSON document against a JSON Schema. Paste the document into tab a and the schema into tab b, and every problem is listed with its path and a plain explanation.
What it checks
Validation covers the keywords most schemas use: types, enum and const, properties, required, additional and pattern properties, items and prefixItems, contains, length and size limits, minimum and maximum, multipleOf, pattern, allOf, anyOf, oneOf, not, if, then and else, and $ref to somewhere inside the same schema. Both draft 2020-12 and draft-07 spellings are accepted.
The formats date-time, date, time, email, uri, uuid, ipv4 and hostname are checked as rules. Each problem shows its path, such as $.roles, and what is wrong.
What is not checked
These keywords are skipped, and the result names any that your schema uses: unevaluatedProperties, unevaluatedItems, dependentSchemas, $dynamicRef, $recursiveRef and contentSchema. A $ref is followed only when it points inside the same schema, such as #/$defs/name. References to other files, URLs and anchors are reported and not followed.
Some limits are not reported. A format outside the list above is accepted unchecked, and a misspelled or unknown keyword is ignored. Minimum, maximum and multipleOf use ordinary floating-point numbers, so integers beyond 2^53 are compared only approximately. The schema itself is not checked for mistakes.
No schema yet? Press “generate a schema from tab a” to start from one that matches your document, then tighten it.
Questions
Which drafts are supported?
Keywords from draft 2020-12 and draft-07 are both understood, including both ways of describing tuples. The tool does not read $schema, so it never switches rules by draft.
Why does it say a keyword was not checked?
That keyword is outside what this validator evaluates. The note names what it skipped; it cannot name what it does not recognise, such as a misspelled keyword.
Does a pass mean my data is fully valid?
It means the checked keywords found no problem. Read the note under the result for skipped keywords and references it did not follow.
How many errors does it show?
Up to 2,000. Click any of them to open that value in the tree.
Is my schema or data uploaded?
No. Validation runs in this page.