JSON Schema Validator
Validate your JSON data against a JSON Schema. Paste your schema on the left, your data on the right, and get instant validation results. Everything runs in your browser — your data stays private.
About JSON Schema
JSON Schema is a vocabulary that allows you to annotate and validate JSON documents. It describes the structure, constraints, and data types of your JSON data, making it invaluable for API validation, configuration file checking, and data quality assurance.
This tool implements core JSON Schema validation in pure JavaScript, supporting the most commonly used keywords from Draft 4, 6, and 7. It checks type constraints, required fields, string patterns, numeric ranges, array bounds, object structure, and enumerated values — all directly in your browser with no server calls.
Features
- Validate JSON data against any JSON Schema with detailed error paths
- Supports type, required, properties, items, enum, pattern, and more
- Numeric constraints: minimum, maximum, exclusiveMinimum, exclusiveMaximum, multipleOf
- String constraints: minLength, maxLength, pattern (regex)
- Array constraints: minItems, maxItems, uniqueItems, items schema
- Object constraints: properties, additionalProperties, required, minProperties, maxProperties
- 100% client-side — your data never leaves your browser
Common JSON Schema Keywords
| Keyword | Applies To | Description |
|---|---|---|
type |
Any | Specifies the data type: string, number, integer, boolean, array, object, null |
required |
Object | Array of property names that must be present |
properties |
Object | Defines schemas for each property of the object |
additionalProperties |
Object | Schema for properties not listed in properties; set to false to disallow them |
items |
Array | Schema that each item in the array must match |
enum |
Any | Value must be one of the specified values |
minimum / maximum |
Number | Inclusive lower/upper bound for numeric values |
exclusiveMinimum / exclusiveMaximum |
Number | Exclusive lower/upper bound for numeric values |
multipleOf |
Number | Value must be a multiple of this number |
minLength / maxLength |
String | Minimum/maximum string length (in characters) |
pattern |
String | String must match this regular expression |
minItems / maxItems |
Array | Minimum/maximum number of items in the array |
uniqueItems |
Array | When true, all array items must be unique |
minProperties / maxProperties |
Object | Minimum/maximum number of properties in the object |
Example Schema
{
"type": "object",
"required": ["name", "email", "age"],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"email": {
"type": "string",
"pattern": "^[^@]+@[^@]+\\.[^@]+$"
},
"age": {
"type": "integer",
"minimum": 0,
"maximum": 150
},
"roles": {
"type": "array",
"items": {
"type": "string",
"enum": ["admin", "editor", "viewer"]
},
"minItems": 1,
"uniqueItems": true
}
},
"additionalProperties": false
}