Skip to content
JSON Toolkit

JSON Schema Validator

Format & Validate

Check that your JSON matches a JSON Schema — with every error pinpointed by path.

Validate JSON against a JSON Schema

JSON Schema is the standard way to describe the shape of a JSON document — which fields are required, what types they hold, and what values are allowed. A JSON Schema validator checks a piece of data against that contract and tells you whether it conforms, and exactly where it doesn't.

This validator runs on Ajv, the same engine most production backends use, so its verdict matches what your API or service will accept. Paste your schema on the left and your data on the right; validity updates live as you edit either one.

Schema validation vs. plain JSON validation

These are two different checks, and it is easy to conflate them. A syntax check answers a narrow question: is this well-formed JSON at all — balanced braces, quoted keys, no trailing commas? Schema validation assumes the JSON already parses and asks the harder question: does its structure match the contract you expect? A payload can be perfectly valid JSON and still be wrong for your API — a number where a string belongs, a missing id, a status outside the allowed set.

If you only need to confirm that a blob parses, reach for the syntax-only JSON validator, or pretty-print it with the formatter first. Come here when parsing is not the problem and you need to prove the data conforms to a defined shape — the right types in the right places, every required field present, every value inside its allowed range.

Every error, pinpointed by path

When data fails validation, a vague "invalid" message is useless on a large document. This tool lists every violation with the JSON Pointer path to the offending value — like /roles/0 or /email — and a plain-English reason: a missing required property, a wrong type, a value below a minimum, or a string that doesn't match a pattern. Fix them one by one and watch the list shrink to zero.

Validate API payloads against JSON Schema

JSON Schema is how teams pin down the shape of a request or response, and this validator lets you test data against that contract online. Paste your schema and a sample payload to confirm an API response conforms, to debug why a request is being rejected, or to check fixtures before a test run. Because it runs on Ajv, the verdict matches the validation your backend actually performs.

What is a JSON schema?

A JSON schema is a JSON document that describes the shape and constraints of another JSON document — which fields are required, what type each field must hold, what patterns strings must match, and what ranges numbers must fall within. The standard is defined at json-schema.org and the most widely deployed version is Draft-07.

JSON schemas are used everywhere: OpenAPI specs use them to describe API request and response bodies, VS Code uses them to power autocomplete and inline validation for config files, and CI pipelines use them to validate JSON before deployment. This validator runs your data against a schema using Ajv — the most widely used JSON Schema library — so its verdict matches what production validators will accept. New to writing schemas? This step-by-step guide to validating JSON with JSON Schema starts from a minimal schema and covers the keywords you will use most.

JSON schema example — creating a JSON schema

Creating a JSON schema starts with the type keyword. Set type to object, then add a properties section with a key for each field you want to describe. Give each field a type — string, number, integer, boolean, array, or object — and any constraints: minimum and maximum for numbers, minLength, maxLength, or pattern for strings. List the names of mandatory fields in the required array.

To test a schema as you write it, paste it on the left and sample JSON on the right — the validator shows every error with its JSON Pointer path and a plain-English reason. As a JSON schema example: type object, a name property of type string, an age property of type integer with minimum 0, and name listed in required. Any JSON without a name field or with a non-integer age fails immediately.

Catch unexpected fields and out-of-range values

A common surprise is that JSON Schema allows extra properties by default: unless you say otherwise, a document with fields your schema never mentioned still passes. Set additionalProperties to false on an object to make the validator reject anything you did not declare — invaluable for catching typo'd keys, stray debug fields, or a client sending data you never agreed to accept.

The same precision applies to values, not just their presence. Use enum to lock a status field to a known set, pattern to require a value match a regex, and minimum/maximum to keep numbers in range. When one of these fails, the result names the exact JSON Pointer path and the rule that was broken, so a rejected payload turns into a specific, fixable list rather than a blanket “invalid”.

Validate against a schema privately, with nothing uploaded

Schemas often describe internal systems, and the data you test against them can include real customer records or production fixtures. Everything here runs in your browser tab on the Ajv engine — your schema and your JSON are parsed and validated in memory and never sent to a server, so there is no upload and no account. That makes it safe to paste a proprietary schema or a live response and confirm it conforms without either leaving your machine.

Capabilities

Everything in the JSON Schema Validator

Validate JSON against a JSON Schema (draft-07+) online. Every error is reported with its exact path and a clear message. Free, private, in-browser.

Draft-07 and later

Powered by Ajv, the standard validator, so results match production tooling.

Every error pinpointed

Each failure shows the JSON Pointer path and a plain-English reason.

Full keyword support

type, required, enum, pattern, minimum/maximum, items, and more.

Schema and data side by side

Edit both panes and see validity update live as you type.

Frequently asked questions

Validation runs on Ajv, which supports JSON Schema draft-07 and the 2019-09 and 2020-12 drafts. Add a $schema keyword to your schema to select a draft; draft-07 is assumed by default.

Everything in your schema: type, required properties, enum, const, pattern, minimum/maximum, minLength/maxLength, items, additionalProperties, and the other standard keywords. Each violation is listed with the path to the offending value.

Structural keywords are always enforced. Format keywords such as email, uri, and date-time are recognized but treated leniently unless your schema relies on them strictly, so a non-conforming format won't produce a false failure.

No. Every operation runs entirely in your browser using client-side JavaScript. Your JSON is never uploaded, logged, or stored on any server — it never leaves your device.

Yes, completely free with no sign-up required. There are no usage limits, no watermarks, and no premium gate on any feature.

Keep going

Related tools