Skip to content
100% local

JSON Schema validator

Check a JSON document against a JSON Schema and get a readable, line-by-line error report.

Input
JSON Schema
Output

JSON Schema validator

Paste a JSON document on one side and a JSON Schema on the other, and this tool tells you whether the document matches — and if it doesn't, exactly where and why. Each problem is reported as one line with the JSON Pointer path to the offending value, the schema keyword that failed and the actual value found there, so you can jump straight to the fix instead of hunting through a large payload by hand.

The validator covers the everyday core of JSON Schema draft-07: "type" (including union arrays like ["string","null"] for nullable fields), "required" and "properties", "additionalProperties" as either a boolean or its own schema, "items" for both list and tuple validation, "minItems"/"maxItems"/"uniqueItems", the numeric keywords "minimum"/"maximum"/"exclusiveMinimum"/"exclusiveMaximum"/"multipleOf", the string keywords "minLength"/"maxLength"/"pattern", "enum" and "const", and the combinators "anyOf"/"allOf"/"oneOf"/"not". It also resolves "$ref" pointers to a schema's own "#/definitions" or "#/$defs" section — handy for schemas that factor out a shared object shape — and detects a "$ref" that loops back on itself instead of freezing the page.

This is a validator, not a schema-driven form builder: it does not fetch a schema from a URL or an "$id", and it never will, because that would mean sending your data or your schema definition off your device. Any "$ref" pointing outside the document is reported as unsupported rather than silently ignored, so you always know exactly what was and wasn't checked.

Everything runs locally in your browser — the JSON document and the schema are parsed and checked on your device and never uploaded anywhere, which makes this safe to use with API payloads, config files or any other JSON that includes data you'd rather not paste into a random website.

FAQ

Which JSON Schema draft does this support?
A practical subset of draft-07: type (including union and nullable arrays), required, properties, additionalProperties, items, minItems/maxItems/uniqueItems, the numeric and string bounds keywords, enum/const, anyOf/allOf/oneOf/not, and local $ref pointers into "#/definitions" or "#/$defs".
Can it follow a $ref to another file or URL?
No. Only local pointers into the same schema's own "#/definitions" or "#/$defs" are resolved. A $ref pointing anywhere else is reported as unsupported rather than fetched, since fetching a remote schema would mean sending data off your device.
What happens if my schema has a circular $ref?
It is detected and reported as a "$ref" error instead of freezing the tab — the validator keeps track of the references it is currently following and stops as soon as one repeats.
How is each error reported?
One line per problem, with the JSON Pointer path to the value (like "/user/age"), the schema keyword that failed (like "minimum" or "required") and the actual value that was found there.
Are my JSON document and schema uploaded anywhere?
No. Validation runs entirely in your browser using the built-in JSON parser — neither the data nor the schema ever leaves your device, and no schema is ever fetched from the network.