JSON Schema Validator

When an API rejects your payload with a bare "invalid request", a JSON Schema validator is how you find out *which* field broke the contract. Paste your JSON document on the left, the schema it should satisfy on the right, and every violation comes back as a list: the exact JSON Pointer to the offending value, the keyword that failed (type, required, enum, pattern, ...), and a plain-English explanation.

Two things make this validator nicer to debug with than most. First, it does not stop at the first failure — you get the full error list (up to 100 entries) in one pass. Second, a broken schema is reported separately from a failing document: if your schema itself can't compile (invalid JSON, a bad regex pattern, an unresolved remote $ref), you see that as a distinct schema error instead of a confusing pile of validation failures.

Validation follows the JSON Schema 2020-12 draft and resolves local $refs only — pointers like #/$defs/address work, remote URLs are never fetched. Format keywords (email, date-time, uuid, ...) are treated as annotations: mismatches show up as warnings, not hard errors, matching the behavior of most production validators.

FAQ

Which JSON Schema draft is supported?

Draft 2020-12. That includes prefixItems, $defs, unevaluatedProperties and the other modern keywords. Older drafts mostly validate as expected since their common keywords are unchanged.

Are remote $refs fetched?

No. Only local references (#/... pointers into the same schema document) are resolved. A schema that depends on a remote reference fails with a clear compile error — inline the referenced schema under $defs to validate locally.

Is my data uploaded?

No. Validation runs entirely in your browser. You can load the page, disconnect, and keep validating.

Read the full JSON Schema guide and the JSON Schema API reference.