JSON Schema Validator & Checker

Validate JSON documents against JSON Schema definitions (Draft-04/06/07/2019-09/2020-12) to catch structure, data type, and constraint errors instantly.

Schema & Payload Editors:
Draft-07 / Draft-2020
Data Object
Awaiting Validation
Paste a JSON Schema and a Data object, then click Validate Schema Compliance.

What is JSON Schema Validation?

JSON Schema is a declarative language used to annotate, structuralize, and validate JSON data instances. It specifies expected data types, required object fields, string format constraints (such as email addresses or URIs), array boundaries, and numerical limits.

While standard JSON syntax validation only checks for correct punctuation and braces, JSON Schema Validation ensures that the content of the JSON document strictly adheres to your API contract or domain data model requirements.

Common JSON Schema Validation Keywords

Keyword Applicable Type Description & Function
type All Data Types Defines the expected primitive type (object, array, string, number, integer, boolean, null).
required object Specifies an array of property names that MUST be present in the target object.
properties object Defines child key schema rules for each specific property key inside an object.
minimum / maximum number / integer Constrains numerical values to fall within a specified inclusive range.
pattern string Enforces string compliance against a Regular Expression (RegEx).
enum All Data Types Restricts the data instance value to an exact enumerated list of allowed values.

Frequently Asked Questions (FAQ)

This tool uses the high-performance Ajv JSON schema validator library, which fully supports JSON Schema Draft-04, Draft-06, Draft-07, and modern Draft 2019-09 / Draft 2020-12 standards.

The validator first compiles the Schema definition. If the schema contains invalid JSON or non-standard keyword syntax, the report box will highlight the exact schema compilation error before testing data payload.

No. All schema compilation and data validation execution happens strictly inside your local browser instance via JavaScript.