JSON Schema Validator
Paste a JSON document and a JSON Schema. The validator checks the schema itself, then the document, and explains every problem with the JSON path, the schema path and a plain message. Unsupported keywords are listed instead of being silently ignored.
1. Document & schema
Draft 2020-12 subset2. Result
Nothing fetchedSchema problems
Schema warnings
Document errors
Notes
Limits: 1 MB per input, 64 nested references, 200 listed errors. Remote $ref URLs are never fetched.
About JSON Schema Validator
JSON Schema Validator checks a JSON document against a JSON Schema in your browser. It supports a documented subset of Draft 2020-12 — types, properties, required, additionalProperties, arrays, strings, numbers, enum, const, combinators and local $ref references — checks the schema’s own structure first, and explains each failure with the JSON path, the schema path and a plain message.
Schemas catch malformed API payloads, configuration files and test fixtures before they cause bugs. Validating locally keeps unpublished data private and gives clear, readable messages.
Step by step
- Paste the JSON document to check.
- Paste the JSON Schema.
- Press Validate.
- Fix any schema problems first, then review the document errors.
- Check the notes for unsupported keywords, then copy or download the report.
What it offers
- Draft 2020-12 core validation keywords
- Local $ref with JSON Pointer, including recursive schemas
- Separate schema-structure check with clear problems and warnings
- Remote references reported and never fetched
- Honest warnings for unsupported or misspelled keywords
- Limits on size, reference depth, steps and listed errors
Tips for best results
- Declare "type" alongside other constraints so mistakes are caught early.
- Use additionalProperties: false to catch misspelled property names.
- Keep shared definitions in $defs and reference them with $ref.
- Treat a “not checked” note as unverified, not as valid.
Why people use it
Readable
JSON path, schema path and plain message.
Honest
Never claims checks it did not run.
Safe
Remote references are not fetched.
Private
Runs entirely in your browser.
Common questions
This runs entirely in your browser
No file or text you enter here is uploaded. Encoding and decoding happen on your device using native browser APIs — close the tab and nothing remains on a server.