JSON Schema Validator
Validate JSON data against a JSON Schema. Supports draft-07 with type, required, properties, enum, pattern, and more.
How to Use JSON Schema Validator
- 1Paste your JSON data in the left panel.
- 2Paste or write your JSON Schema in the right panel.
- 3Click Validate to check conformance.
- 4Review validation errors with JSON paths and descriptions.
Zenovay
Privacy-first analytics for your website
Understand your visitors without invasive tracking. GDPR compliant, lightweight, and powerful.
Related Tools
JSON Formatter & ValidatorFormat, validate, and beautify JSON data with syntax highlighting and error detection.
JWT DecoderDecode and inspect JWT tokens. View header, payload, and verify signatures.
Base64 Encode/DecodeEncode text to Base64 or decode Base64 back to text. Supports UTF-8 and binary data.
URL Encode/DecodeEncode or decode URL components. Handle special characters, query strings, and full URLs.
Frequently Asked Questions
What is JSON Schema?▾
JSON Schema is a vocabulary that allows you to annotate and validate JSON documents. A schema is itself a JSON document that describes the shape, types, and constraints of your data. It is used for API documentation (OpenAPI/Swagger), configuration validation, data pipeline contracts, and form validation. This tool supports a practical subset of JSON Schema draft-07.
What keywords are supported?▾
This validator supports the most widely used JSON Schema keywords: type (string, number, integer, boolean, null, array, object), required (array of required property names), properties (per-property sub-schemas), additionalProperties (boolean or schema), minLength / maxLength, minimum / maximum / exclusiveMinimum / exclusiveMaximum, pattern (regex), enum, const, items (array item schema), minItems / maxItems, allOf / anyOf / oneOf, and $ref (for local definitions).
What is the difference between allOf, anyOf, and oneOf?▾
allOf — data must be valid against ALL listed sub-schemas. Used to extend or compose schemas. anyOf — data must be valid against AT LEAST ONE sub-schema. Used for union types. oneOf — data must be valid against EXACTLY ONE sub-schema (mutually exclusive). If data matches two oneOf schemas, it fails. For optional/nullable fields, anyOf: [{type: "string"}, {type: "null"}] is common.
How do I validate an array of objects?▾
Use the items keyword on an array-type schema: {"type": "array", "items": {"type": "object", "required": ["id", "name"], "properties": {"id": {"type": "integer"}, "name": {"type": "string"}}}}. This validates that every element in the array is an object with the required id (integer) and name (string) properties.
What is additionalProperties?▾
additionalProperties controls whether object properties beyond those listed in properties are allowed. Set to false to reject any extra keys: {"type": "object", "properties": {"name": {"type": "string"}}, "additionalProperties": false}. Set to a schema object to require extra properties match that schema. The default is true (any additional properties allowed). This is commonly used to enforce strict API contracts.