Paste the JSON value that must satisfy the schema.
Supports the documented Draft 7 subset, local $ref, and common assertions.
Validation result
Validation results
Run validation to compare the JSON data with the supported Draft 7 schema keywords.
Paste the JSON value that must satisfy the schema.
Supports the documented Draft 7 subset, local $ref, and common assertions.
Validation result
Run validation to compare the JSON data with the supported Draft 7 schema keywords.
JSON Schema validation guide
Paste valid JSON data and a JSON Schema into the validator above to check whether the value satisfies the supported contract. VetaTool reports each failed type, required property, array item, or anyOf branch with a JSON Pointer path while keeping both documents in your browser.
A document can be syntactically valid JSON while still containing the wrong value type, omitting a required property, or placing an unsupported value inside an array. Schema validation runs after parsing and checks those structural contract rules.
Syntax errors in the data and syntax or definition errors in the schema are reported separately so they are not confused with data validation failures.
The validator supports VetaTool's generated subset plus a documented Draft 7 profile: local definitions and $ref, boolean schemas, type arrays, enum and const, numeric and string bounds, array and object limits, additionalProperties, and common composition keywords.
This release implements a practical Draft 7 subset but does not claim every keyword. Unsupported features such as format, dependencies, propertyNames, contains, conditional schemas, tuple items, and remote references cause a clear error instead of a misleading pass result.
Validation runs locally in the browser, so the data and schema are not sent to a validation service.
The data uses a string for age and omits the required name property, so the validator reports two separate contract failures.
Data:
{
"age": "42"
}
Schema:
{
"type": "object",
"properties": {
"age": { "type": "integer" }
},
"required": ["name", "age"]
}/age — Expected integer but received string.
/ — Required property "name" is missing.Common questions
No. It validates the documented Draft 7 subset, including local definitions and $ref plus common assertion keywords. Unsupported keywords and non-Draft-7 dialect declarations are rejected instead of ignored.
JSON Validator checks whether a document follows JSON syntax. JSON Schema Validator assumes the data can be parsed and then checks structural rules such as types, required properties, and array item schemas.
JSON Schema treats every integer as a number, while a non-integer number does not satisfy an integer schema.
Each path is a JSON Pointer. For example, /profile/name identifies the name property inside profile, while /items/2 identifies the third array element.
No. Parsing and validation run locally in your browser.