Why it matters
A JSON Schema is the contract for an API or a config file: which keys must be there, what type each value is, and which values are allowed. Checking data against it catches bad requests before they reach your code and keeps front end and back end honest with each other.
Validator error messages are often cryptic. This one gives the JSON path of every failing value, the rule it broke and the value it expected, so you can fix the data or the schema in one pass. It runs entirely in your browser, so production payloads stay private.
How it works
- InputA JSON Schema and the JSON to check
- In your browserValidated with draft 2020-12 rules: $ref, allOf, formats
- OutputEach error with its path and rule, or a schema inferred from the data
Where it fits in a designer's workflow
- Plan
- Design
- Build
- Test
- Launch
By the numbers
Show the numbers as a table
| Keyword | Path |
|---|---|
| format | |
| enum | /status |
| minLength | /items/1/sku |
| minimum | /items/1/qty |
| additionalProperties | (root) |
How to use it
- Paste your JSON Schema on the left.
- Paste the JSON you want to check on the right.
- Read the list of errors, each with its path and rule.
- No schema yet? Press 'Make a schema from the data' and tighten the result.
FAQ
Which drafts are supported?
The keywords of draft 2020-12, 2019-09, 07, 06 and 04. Set $schema to choose; without it, 2020-12 rules apply.
Does it fetch remote $ref URLs?
No. Only references inside the same schema (#/$defs/… or #/definitions/…) are resolved, so nothing is fetched.
Are formats enforced?
Yes. Common formats such as email, date-time, date, uri, uuid, ipv4 and ipv6 are checked, which many validators skip by default.
Is the inferred schema final?
It's a starting point: it marks every key it saw as required and guesses types. Add enums, patterns and limits yourself.