JSON Schema Validator
Validate JSON against a JSON Schema in the browser — type, required, properties, items, enum, format, pattern, allOf/anyOf/oneOf, $ref — with error paths.
Valid or a list of failures with the instance path, the schema path, the keyword and a message, the number of schema checks, and any keywords the validator does not support.
Example: {"name":"A","age":-1} against a schema with minLength 2 and minimum 0 fails twice: /name [minLength] Length 1 is below the minimum 2; /age [minimum] -1 is below the minimum 0.
Every failure has
two addresses.
Which keywords are checked, how paths are reported, and what falls outside the validator.
Keywords
The validator implements the validation vocabulary shared by draft-07, 2019-09 and 2020-12: type (including arrays of types and integer), enum, const; minimum / maximum / exclusive* / multipleOf; minLength / maxLength / pattern / format; items (schema or tuple), prefixItems, additionalItems, minItems / maxItems / uniqueItems / contains; properties, patternProperties, additionalProperties, propertyNames, required, minProperties / maxProperties, dependentRequired / dependencies; allOf / anyOf / oneOf / not; if / then / else; boolean schemas; and $ref to a JSON Pointer inside the same document (#/$defs/x, #/definitions/x). format is an assertion here, checked with simple patterns for date, time, date-time, email, uri, uuid, ipv4, ipv6 and hostname.
Paths
Each failure carries the instance path (a JSON Pointer into your document, / for the root) and the schema path (a pointer into the schema through the keywords that led there, including $ref hops), plus the keyword and a message. Failures inside anyOf / oneOf / not branches are evaluated silently and only the combinator’s own failure is reported, which is how most validators behave. The checks count is the number of subschemas evaluated.
Not covered
Remote or relative $ref, $dynamicRef / $recursiveRef, unevaluatedProperties / unevaluatedItems, content* keywords and custom vocabularies — those keywords are listed as unsupported when present so a VALID verdict is not mistaken for a full one. Regular expressions run with the JavaScript engine (u flag when possible), which differs slightly from ECMA-262 without it. Nothing leaves the browser; the same four anonymous usage counts as the rest of the site apply.
SOURCES
- JSON Schema draft 2020-12 validation vocabulary (json-schema.org): type, enum, const, numeric and string keywords, array and object keywords, applicators, format assertions as simple patterns
Last reviewed 21 September 2026. How results are checked: How we verify.