JSON Schema Validator Online – Validate JSON Data

Validate JSON data against a reviewable schema subset and locate contract failures without uploading either document.

Runs locally
Ready to validate

Paste the JSON value that must satisfy the schema.

64 chars

Supports the documented Draft 7 subset, local $ref, and common assertions.

503 chars

Validation result

Validation results

Run validation to compare the JSON data with the supported Draft 7 schema keywords.

JSON Schema validation guide

How to validate JSON data against a schema

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.

Steps

  1. Paste the JSON value that needs contract validation.
  2. Paste a schema using the currently supported keyword subset.
  3. Select Validate JSON and review each JSON Pointer path.
  4. Correct the data or schema, then rerun validation until it passes.

Schema validation checks data rules, not JSON grammar alone

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.

Supported validation keywords in the first release

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.

  • Type checks cover object, array, string, boolean, null, integer, and number.
  • Required checks report the containing object path and missing property name.
  • Properties and array items are validated recursively with escaped JSON Pointer paths.
  • Local JSON Pointer references are resolved from the same schema document; external references are rejected rather than fetched.

Review the supported subset before treating a result as complete

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.

JSON Schema validation error example

The data uses a string for age and omits the required name property, so the validator reports two separate contract failures.

JSON data and supported schema

Data:
{
  "age": "42"
}

Schema:
{
  "type": "object",
  "properties": {
    "age": { "type": "integer" }
  },
  "required": ["name", "age"]
}

Validation issues

/age — Expected integer but received string.
/ — Required property "name" is missing.

Common questions

Frequently asked questions

Does this validate every JSON Schema draft keyword?

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.

What is the difference between JSON Validator and JSON Schema Validator?

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.

Why does an integer satisfy a number schema?

JSON Schema treats every integer as a number, while a non-integer number does not satisfy an integer schema.

What do the validation paths mean?

Each path is a JSON Pointer. For example, /profile/name identifies the name property inside profile, while /items/2 identifies the third array element.

Are the JSON data and schema uploaded?

No. Parsing and validation run locally in your browser.