JSON Schema Validator
Paste a JSON document and a schema, get a green check or per-path errors. Powered by Ajv. Runs entirely in your browser — your data never leaves the page.
What is JSON Schema validation?
JSON Schema is a vocabulary for declaring the shape of a JSON document — required keys, value types, formats, ranges, enum members, nested structures, and so on. A schema validator runs the rules against a candidate document and reports which fields fail and why.
JSONZen uses Ajv 8 with the ajv-formats plugin, so format keywords like "email", "uri", and "date-time" behave the way you’d expect from a spec-faithful Ajv install.
When do you reach for it?
- You wrote a schema to enforce an API contract and want to spot-check responses.
- You’re onboarding to a tool whose config is JSON-Schema-driven and you want to understand its rules.
- A request keeps failing with a vague 400 — paste the body + the schema and find the exact field that violates.
How to use it
- Paste your data into the left panel.
- Paste your JSON Schema into the right panel.
- Read the status badge — Valid, an error count, or a parse-error label if either input isn’t valid JSON.
- When errors are present, the bottom panel lists each one with its
instancePath (which field) and the keyword that failed.
Frequently asked questions.
- Which JSON Schema drafts do you support?
- Ajv 8 underlies the validator. Drafts 7, 2019-09, and 2020-12 are supported. Draft 4/6 schemas usually work too with minor adjustments.
- Do you support format keywords like "email" or "date-time"?
- Yes. ajv-formats is enabled, so format: "email", "date", "date-time", "uri", "uuid", and the rest of the standard formats are checked.
- Will my schema or data leave my browser?
- No. Everything happens client-side. Nothing is uploaded, logged, or analytics-tracked.
- Can I validate against $ref-ed remote schemas?
- Local $refs work. Remote $refs (HTTP) are out of scope for this slice — paste the referenced schema inline for now.
- How big a document can I validate?
- Up to ~10 MB without lag. For larger inputs the editor stays responsive thanks to React’s deferred-value rendering, but the first validate pass can take a moment.