JSON Schema Validator
Processed Client SideValidate a JSON payload against a JSON Schema (draft-07 subset) and get precise, path-level error messages.
Bookmark this tool now — skip the search next time you need it.
About JSON Schema Validator
This tool runs entirely in your browser. Whatever you paste is processed on your own device and is never uploaded, logged, or sent to any server.
The JSON Schema Validator checks a JSON document against a JSON Schema and reports every rule it breaks, each with the path to the exact property at fault. It is the tool for the question "why is the API rejecting my payload?" — instead of one error at a time from a server, you get the full list at once: missing required properties, wrong types, values outside their range, strings that fail a pattern or format, and array items that do not fit. Schema and data go in two panes side by side, and the validator implements the draft-07 keyword set that real-world schemas are built from.
Key features
- Every error reported at once, each with a property path such as user.roles[2] and a plain-language message
- Type checking including union types and a genuine integer/number distinction
- String rules: minLength, maxLength, pattern, and format for email, uri, date-time, date, time, ipv4, and uuid
- Number rules: minimum, maximum, exclusiveMinimum, exclusiveMaximum, and multipleOf
- Array rules: minItems, maxItems, uniqueItems, a single items schema, and positional tuple validation
- Object rules: required, properties, patternProperties, additionalProperties, minProperties, and maxProperties
- The combinators allOf, anyOf, oneOf, and not, with oneOf reporting how many branches actually matched
- enum and const equality checks that compare nested structures, not just primitives
- Copy the whole error list as text, and a clear Valid badge when the document passes
How to use it
- Paste your JSON Schema into the schema pane.
- Paste the document you want to check into the data pane.
- Press Validate.
- Work down the error list — each entry names the path and the rule that failed.
- Fix the data (or the schema), press Validate again, and repeat until you see the Valid badge.
Tips & common mistakes
- Read the paths before the messages. Three errors under the same path usually mean one wrong value, not three separate problems.
- A missing required property and a property set to null are different failures. required only checks that the key is present — allowing null needs "type": ["string", "null"] as well.
- $ref is not resolved here, so schemas split across files or leaning on $defs need inlining first. Most schemas small enough to debug by hand are already self-contained.
- format checks are pragmatic pattern matches, not full RFC parsers. They catch the everyday mistakes — a missing @, a date written the American way round — but a string that passes is not formally guaranteed valid.
- additionalProperties: false is the keyword that most often surprises people. It rejects any key you did not declare, which is exactly what OpenAI-style strict structured output requires and exactly what breaks a payload carrying one extra field.
- oneOf means exactly one branch must match. When it reports that two matched, the branches overlap — that is a schema bug, and anyOf is usually what was intended.
- This validates a document against a schema. To check that JSON is syntactically well-formed in the first place, the JSON Validator is the faster route.