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

INSTANCE · JSON
SCHEMA
covers 18 keywords · $ref & combinators land in v2.0

Live validation is on — the verdict updates as you type.

VIOLATIONS

$ 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.

HOW IT WORKS

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.

FAQ

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.