JSON Schema Validator
Validate JSON against a schema and get detailed errors — supporting the core keywords developers use most, entirely in your browser.
Use the tool ↓Your data is processed locally in your browser and is not uploaded to our servers.
type, properties, required, items, enum, minimum/maximum, minLength/maxLength, pattern, minItems/maxItems, additionalProperties (boolean only).
Not supported: $ref, allOf/anyOf/oneOf, format, and other draft-2020-12 features — this is a documented, useful subset, not a full spec implementation.
About this tool
A JSON Schema describes the shape a piece of JSON is supposed to have — which properties are required, what type each value should be, what range a number should fall in, what pattern a string should match — independent of any particular value. Where the JSON Validator tool in this hub checks whether text is syntactically parseable JSON at all, this tool checks something more specific: whether a given piece of already-valid JSON actually conforms to a structure you've defined. Both questions matter, but they're genuinely different, which is why they're separate tools rather than one overloaded one.
The full JSON Schema specification (currently at draft 2020-12) is large — it includes reference resolution across schema files ($ref), boolean composition of multiple schemas (allOf, anyOf, oneOf), and a long list of semantic string formats (email, date-time, URI, and more). Implementing all of that correctly is a genuinely substantial undertaking, typically handled by a dedicated library rather than hand-rolled code. Rather than either skipping schema validation entirely or silently mis-implementing the full spec (and giving wrong answers on the parts it got subtly wrong), this tool implements a clearly bounded, documented subset covering the keywords that account for the large majority of real-world, everyday schema validation: type checking, required properties, nested object and array validation, enums, numeric ranges, string length and pattern matching, and array size constraints.
Every violation found is reported with its exact path inside the data — $.age: expected type integer, got string tells you precisely which field failed and why, rather than a generic "validation failed." Validation recurses through nested objects and array items, so a schema describing an array of user objects, each with its own required fields, is checked all the way down, not just at the top level.
If your schema uses a feature outside this subset (like $ref or oneOf), those specific keywords are simply not enforced — the tool doesn't error out, but it also doesn't pretend to check something it can't. For projects that need full JSON Schema draft compliance, a dedicated library (like Ajv) in your actual codebase is the right tool; this validator is built for the fast, everyday case of checking a data shape without adding a dependency. Everything runs locally; nothing you paste is uploaded anywhere.
How to use it
Paste your JSON data
The data you want to check against a structure.
Paste your JSON Schema
Using the supported keyword subset documented below the tool.
Click Validate
See a clear valid/invalid result, with every violation listed at its exact path.
Fix and re-check
Adjust your data or schema and re-validate until it passes.
Example
{
"type": "object",
"required": ["name", "age"],
"properties": {
"name": { "type": "string" },
"age": { "type": "integer", "minimum": 0 }
}
}{ "age": -5 }
$: missing required property "name"
$.age: -5 is less than minimum 0Common use cases
Validating API request bodies
Check a sample payload against your API's expected schema before writing code.
Checking config files
Confirm a config matches its expected structure and required fields.
Documenting data contracts
Write and test a schema that documents what a valid record looks like.
Debugging validation failures
See exactly which field and rule caused a validation error.
Reviewing test fixtures
Confirm fixtures match the schema your application expects.
Teaching JSON Schema basics
Experiment with keywords and see how they affect validation results.