Developer Tools Runs in your browser Free · no account

JSON Schema Validator

The JSON Schema validator checks a document against a draft 7 schema and reports each failure with the dotted path to the value that caused it. It covers types, required properties, enums, string patterns and formats, numeric bounds, array constraints and the allOf, anyOf, oneOf and not combinators.

JSON document 0 characters
JSON Schema 0 characters
Validation result

Your result will appear here.

Not sure where to start? Use Load example.

Results update automatically and are calculated on your device. Nothing you type is sent to a server.

Runs in your browser. Processing happens entirely in your browser. Nothing you enter is sent to Delimiter.live.

How to use the JSON Schema Validator

  1. Paste the JSON document into the first box.
  2. Paste the schema into the second.
  3. Read the table: each row gives the path to the failing value and what was wrong with it.
  4. Fix the first few and re-run — one structural mistake often produces several messages.

Example

Input
{"id": 0}
{"properties": {"id": {"minimum": 1}}}
Output
id — Less than the minimum of 1

Common use cases

  • Checking an API payload against the schema the endpoint publishes.
  • Validating a configuration file before deploying it.
  • Confirming a fixture still matches its schema after a change.
  • Working out why a schema-validating API rejected your request body.

Limitations and things to watch for

  • $ref is not resolved. A schema that references definitions elsewhere reports that rather than skipping the check silently, so you know the constraint was not applied. Inline the referenced schema to validate it here.
  • Remote schemas are never fetched. Everything is validated in your browser, which means a $schema or $id URL is not downloaded.
  • This implements a practical subset of draft 7 — the keywords that appear in real schemas. Draft 2019-09 and 2020-12 additions such as prefixItems, dependentSchemas and unevaluatedProperties are not applied.
  • Format checking is pattern based. A string can match the email or uri pattern and still not be deliverable or resolvable.

Frequently asked questions

Which draft does this support?
A practical subset of draft 7: type, required, enum, const, string length and pattern, common formats, numeric bounds and multipleOf, array items and uniqueItems, object property constraints, and the allOf, anyOf, oneOf and not combinators. That covers the overwhelming majority of real schemas.
Why does it say $ref is not supported?
Resolving references means following pointers within the schema and, for remote ones, fetching over the network — which this tool deliberately does not do. Rather than skip the constraint quietly and report a document as valid when it was never fully checked, it tells you the reference was not applied.
What is the difference between this and the JSON Validator?
The JSON Validator checks syntax: is this well-formed JSON? This checks semantics: does this document have the right fields, with the right types and values? A document can be perfectly valid JSON and completely wrong for its schema.
How should I read the paths?
They are dotted paths from the root, with array positions in brackets — user.address.city, or tags[1]. An empty path is shown as (root) and means the failure applies to the whole document.
Is my document or schema uploaded?
No. Both are parsed and checked entirely in your browser, so you can validate production payloads and internal schemas without either leaving your device.

Share this tool