jsontoolskit.org
JSON and JSON Schema utilities, in the browser
Say hi →

JSON Schema Validator

click an error to select the value · plain-English messages · folds union noise · drafts 04 / 06 / 07 / 2019-09 / 2020-12

Validate a JSON document against a JSON Schema. Draft auto-detected from the schema's $schema key — override if absent. Errors are grouped by the location in your data, each one showing the value that actually failed and a plain-English reason instead of a raw keyword dump; click the location and the value is selected in the Data pane so you can go straight to it.

Paste schema and data.

How to validate

  1. Paste Schema in the top panel and Data in the bottom panel (or vice versa — use Swap).
  2. The draft is auto-detected from the schema's $schema key; override under Draft if missing.
  3. The verdict appears as a coloured banner. For invalid input, every error is listed with: path in the data, keyword that failed (type, required, pattern, …), expected, actual, and a one-sentence English explanation.
  4. All errors vs First error toggle controls verbosity.
  5. Copy errors as Markdown for ticket-friendly reports.

FAQ

Why does Ajv reject my schema?

The most common cause is a draft mismatch. If you wrote a 2019-09 schema and have draft-07 keywords (oneOf with sibling fields, etc.), it fails. Set the draft explicitly.

What about external $ref?

The validator doesn't fetch external $ref URLs (browser CORS would block them anyway). Inline the referenced schema, or use $defs.

Will it work offline?

Yes — Ajv is cached after first load.