JSON Schema Validator

Runs in browser JSON & Data

Check that a payload conforms to a JSON Schema. Supports types, required properties, enums, patterns, numeric ranges, array constraints, nested objects, $ref to local definitions, allOf/anyOf/oneOf and more, with every violation listed by path.

Privacy: This tool runs entirely in your browser. Your input never leaves your device.
Loading tool…

How to use JSON Schema Validator

  1. Paste the JSON document in the first editor and the JSON Schema in the second.
  2. Click Validate.
  3. 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.