Skip to content

JSON Schema Validator

Check a JSON document against a schema and get a JSON Pointer to every value that fails.

Runs in your browserNo account neededFree
Loading tool…

Processing: This tool runs entirely in your browser. Your input and any file you open stay on your device — nothing is uploaded to a server.

How to use the json schema validator

  1. Paste the schema on the left and the document to check on the right.
  2. Read the problems, each with a JSON Pointer to the value at fault.
  3. Check the list of unsupported keywords before trusting a pass.

About this tool

A schema is only useful if something enforces it. This checks a document against one and reports each failure with a JSON Pointer, so `/orders/0/total` names the exact value rather than leaving you to search a large payload for the problem.

The keywords implemented are the ones that carry meaning locally: types, required properties, enum and const, numeric bounds and multipleOf, string length and pattern, array length and uniqueness, object property counts, additionalProperties and patternProperties, and the combinators allOf, anyOf, oneOf and not.

Anything it does not implement is listed rather than ignored. This matters more than it sounds: a validator that silently skips a keyword reports a document as valid when it is not, and that is a worse failure than refusing to answer. If a keyword appears in the output as unchecked, treat that part of the schema as unverified.

A `$ref` pointing into the same document's `$defs` is followed. A `$ref` to another URL is reported instead, because resolving it would mean uploading your schema to fetch someone else's — and nothing here is sent anywhere. String lengths are counted in code points rather than UTF-16 units, so an emoji counts as one character, which is what a `maxLength` usually intends.

Common uses

  • Checking an API payload against the schema it is meant to satisfy.
  • Validating a config file before deploying it.
  • Testing a schema you have just written against a known-bad document.

Frequently asked questions

Which JSON Schema keywords are supported?
Types, required, enum, const, numeric bounds, multipleOf, string length and pattern, array length and uniqueness, property counts, additionalProperties, patternProperties, and allOf, anyOf, oneOf and not.
Does it follow $ref?
Local references into $defs in the same document are followed. A reference to another URL is reported as unchecked rather than fetched, since nothing here is sent over the network.
What does the unsupported list mean?
That the schema uses a keyword this validator does not implement, so that constraint was not checked. A pass covers only the keywords listed as supported.

Related tools