JSON Schema Validator
Test a JSON document against a schema you provide and show the fields that do not match, locally.
Checked: type (also integer and lists of types), required, properties, additionalProperties, items, enum, const, lengths, bounds, pattern, and the formats email, date, date-time, uri, and uuid. $ref, oneOf, anyOf, allOf, and if/then are not checked; they are listed when present.
Your result
Paste the JSON and its schema, and the check appears here.
How to use it
- Paste the JSON in the first box and the schema in the second, or press Try a sample.
- Read the result: a match, or a table of problems.
- Copy or download the list of problems.
Examples
- A missing fieldrequired: ["name"] and {} $.name: missing field
- Not an integer{"type":"integer"} and 3.5 Wrong type: integer
- An extra fieldadditionalProperties: false Field not allowed
Tool details and privacy
Paste the JSON and its schema to see at once whether it matches, and if not, where, which rule it breaks, and what was expected.
Checking data before sending it to an API or saving it catches missing fields and wrong types early.
Options
- Checked: type (also integer and lists of types), enum and const, lengths, bounds and multipleOf, pattern, and format (email, date, date-time, uri, uuid).
- For objects: required, properties, additionalProperties, minProperties/maxProperties; for lists: items, minItems/maxItems, and uniqueItems.
Limits
- $ref, oneOf, anyOf, allOf, not, and if/then are not checked; their names are listed when present so you do not assume they were.
- A syntax error in either text shows its line and column.
Privacy
What you type stays in your browser. Nothing is uploaded or saved on the server.
Questions
Is this a full JSON Schema validator?
No. It covers the common rules, and unchecked keywords are named.
Does 36 count as a number?
Yes; every integer is also a number.
How are places written?
As $.address.city and $.tags[1].
Is anything uploaded?
No.