How to use JSON Schema Validator
- Paste the JSON document in the first editor and the JSON Schema in the second.
- Click Validate.
- Review the violation table; each row tells you which value failed and why.
JSON Schema Validator features
- Validates against draft-07, 2019-09 and 2020-12 core keywords
- Supports nested objects, arrays, tuples, enums, patterns, formats and numeric limits
- Handles allOf / anyOf / oneOf / not, if-then-else and local $ref
- Lists every violation with JSON path, keyword, message and schema location
- Lints the schema itself and reports unknown types or invalid regular expressions
- Exports violations as CSV
JSON Schema Validator example
Validate a user object
Input:
Document: {"email":"layla@example","age":17}
Schema: {"type":"object","required":["id"],"properties":{"email":{"format":"email"},"age":{"minimum":18}}}Output:
$ required Missing required property "id".
$.email format String is not a valid email.
$.age minimum Value must be ≥ 18.Frequently asked questions about JSON Schema Validator
Which JSON Schema drafts are supported?
The core keywords of draft-07, 2019-09 and 2020-12: type, properties, required, enum, const, pattern, format, numeric and length constraints, items/prefixItems, contains, allOf/anyOf/oneOf/not, if/then/else, dependentRequired and local $ref.
Are remote $ref references resolved?
Only local references (#/definitions/… and #/$defs/…) are resolved. Remote URLs are not fetched, so inline any external schemas first.
Which string formats are checked?
email, date-time, date, time, uuid, uri, hostname, ipv4, ipv6, regex and json-pointer. Unknown formats are ignored, as the specification recommends.
How are violations reported?
Each violation lists the JSON path of the offending value, the schema keyword that failed, a plain-language message and the location inside the schema.
Technical notes
The validator is a dependency-free implementation that evaluates keywords recursively while tracking both the instance path and the schema path. Sibling keywords next to $ref are evaluated (2019-09+ behaviour), and the OpenAPI nullable extension is honoured.