JSON Schema Lite
Validate JSON against a schema — violations point at the exact value.
Your data is processed entirely in your browser and is never uploaded.
Tool workspace
Live validation is on — the verdict updates as you type.
$ schema --check instance.json
Paste JSON and a schema above — or load the sample — and every violation lands here with its exact path, the instant it changes.
Capped at 100 violations — fix these first, then re-validate.
Validate against a schema in three steps
Paste both sides
Your JSON in the left editor, the schema it must satisfy on the right. The verdict runs as you type.
Read the violations
Every problem carries its exact path — /users/2/email — so you can jump straight to the offending value.
Fix & re-run
Correct the JSON (or the schema) and watch the ledger shrink to zero. Copy or download the report.
Where to next
Frequently asked questions
Is my JSON uploaded anywhere?
No. Validation runs entirely in your browser (in a background worker for large inputs). Neither your data nor your schema ever leaves your machine.
What does "lite" mean?
A clearly-scoped subset of JSON Schema: types, required keys, additionalProperties, enum/const, numeric ranges, string lengths, and array/object size limits. Keywords we don't support yet are listed openly in the panel — we'd rather tell you what's out than pretend otherwise. The full validator (with $ref and combinators) is a planned v2.0 tool.
What happens to keywords you don't support?
They're ignored, per the JSON Schema spec — unknown keywords never fail validation. So a schema using $ref or anyOf won't error; it just won't enforce those parts. The coverage line above the button states exactly what's active.
Why don't you just use Ajv?
Ajv is excellent but ~150KB gzipped — heavier than this entire site's philosophy allows for one tool. So the engine is hand-rolled on the same JSON grammar walker that powers the JSON Validator: zero dependencies, identical coordinates everywhere.