JSON Schema Validator
Validate a JSON document against a JSON Schema and see the exact path and reason for every error.
Paste a schema on the left and a JSON document on the right — validation runs as you type.
How it works
Paste a JSON Schema and a JSON document, and every constraint in the schema is checked
against the data as you type. Each failure is reported with a JSON Pointer path
(/orders/0/total), so you know exactly which value broke the rule and why —
no hunting through a wall of nested output. Supported keywords include
type, required, properties,
patternProperties, additionalProperties, items,
enum, const, the numeric and string bounds,
uniqueItems, pattern, format, allOf,
anyOf, oneOf, not, if/then/else and
local $ref pointers into definitions or $defs.
String formats such as email, uri, date,
date-time, uuid, ipv4 and hostname are
annotations in the JSON Schema spec, so validators disagree about them — the checkbox lets
you switch that check on or off. Everything runs in your browser with plain JavaScript:
your schema and your payload are never uploaded, which makes this safe for API contracts,
customer records and anything else confidential. Copy or download the report to paste into
a bug ticket.
Frequently asked questions
Is my JSON Schema or data uploaded to a server?
No. The validator runs entirely in your browser with plain JavaScript, so your schema and your JSON document never leave your device. That makes it safe for API contracts, tokens and customer records, and it keeps working offline once the page has loaded.
Which JSON Schema draft does this validator support?
It targets draft-07 style schemas and checks type, required, properties, patternProperties, additionalProperties, items, additionalItems, contains, enum, const, minimum and maximum plus their exclusive variants, multipleOf, minLength, maxLength, pattern, format, minItems, maxItems, uniqueItems, minProperties, maxProperties, allOf, anyOf, oneOf, not, if/then/else and local $ref pointers into definitions or $defs.
How do I read the error paths?
Each error is labelled with a JSON Pointer, for example /orders/0/total, meaning the total field of the first item in the orders array. (root) means the failure is on the top-level document itself, such as a missing required property or a disallowed extra property. Use Copy report or Download report to take the full list with you.