JSON Schema Validator
Validate JSON data against a schema — supports type, required, pattern, and more
How to Use the JSON Schema Validator
- Paste your JSON Schema on the left.
- Paste the JSON data to validate on the right.
- Click Validate to check compliance.
Supports type, required, properties, items, minimum/maximum, minLength/maxLength, pattern, and enum validation. All client-side.
What is JSON Schema Validation?
The JSON Schema Validator validates JSON documents against official JSON Schema draft specifications (Draft-04, Draft-07, and Draft 2020-12). It highlights schema violations, type mismatches, missing required properties, regex pattern failures, and numerical range errors with clear line-by-line debugging messages.
Common Uses
- Validating REST API request payloads and webhook responses against schemas
- Automating configuration file schema verification in CI/CD build scripts
- Ensuring contract compliance between microservice architectures
- Designing and testing complex OpenAPI and JSON Schema definitions
Frequently Asked Questions
What is JSON Schema?
JSON Schema is an IETF standard for annotating and validating JSON documents. It defines the required structure, data types (string, number, array, object), allowed values, and constraints for valid JSON payloads.
Which JSON Schema drafts are supported?
The validator supports popular standard specifications including Draft-04, Draft-07, and modern Draft 2020-12 standards.
Why does schema validation fail on additionalProperties?
If your schema specifies `additionalProperties: false`, any property present in the JSON instance that is not explicitly defined in the schema's `properties` list will trigger a validation error.
Notes from this implementation
Draft in, instance in, errors out
You paste a schema and a JSON instance. The validator walks the schema keywords it implements and reports the first failures. additionalProperties: false is the keyword that rejects a payload your colleague called “basically matching.” required lists names, not types. A missing key fails required. A key present and set to null fails type unless null is allowed.
This is only as strict as the keywords the script knows. If a schema uses a draft this file does not implement, a passing result is not a pass. Check the draft label. Use it to explain a 400 from an API, not as the API.