Paste a JSON document and a JSON Schema to see every validation error with its instance path. Supports draft 2020-12 and draft-07, entirely in your browser.
Updated
/ 5 - Be the first to rate this tool Thanks for rating!
Verification failed - please try again.
Quick check
Please verify you're not a robot to submit your rating.
Give feedback
Tell us what you think about Validate JSON against a JSON Schema.
The document is valid against the schema.
- Runs entirely in your browser — your data is never sent to a server
- Supports JSON Schema draft 2020-12 and draft-07
- Lists every error with its instance path
How it works
-
1
Paste the JSON document.
-
2
Paste the JSON Schema.
-
3
Read the result and any listed errors.
-
4
Fix the document or schema and check again.
About the JSON Schema Validator
A JSON Schema describes what a valid document looks like: required fields, types, allowed values and formats. Checking real data against it catches broken API payloads and config files before they reach production. This validator checks a JSON document against your schema in the browser and lists every failure with a JSON Pointer path, so you can see exactly which field broke which rule.
What you can do
- Validate as you type and see either a valid confirmation or a numbered list of errors.
- Find each problem by its path, such as /items/2/price, with a plain message like must be >= 0.
- Use type, enum, const, number limits, string length and pattern, array rules and object rules such as required and additionalProperties.
- Combine schemas with allOf, anyOf, oneOf, not and if, then, else.
- Reuse definitions with local $ref pointers, with draft-04 to draft-07 $ref behaviour when the $schema says so.
When it works best
- Checking a webhook or API payload against the schema in your OpenAPI documentation.
- Testing a schema you are writing against good and bad example documents.
- Finding which field in a large config file fails a CI validation step.
Things to know
- Both documents stay in your browser.
- Only local $ref values starting with # are resolved; references to other files or URLs are rejected.
- The format keyword, such as email or date-time, is not checked, and some newer keywords like unevaluatedProperties and dependentRequired are ignored.
- For syntax errors alone, the JSON Formatter is quicker. To create types from a sample, use JSON to TypeScript/PHP.
Frequently asked questions
Each failure lists a JSON Pointer path, such as /items/2/price, and a plain message.
No, only local references starting with # are supported.
No. Formats like email and date-time are ignored, as are unevaluatedProperties and dependentRequired.
allOf, anyOf, oneOf, not and if, then, else.