JSON Schema Validator: Check JSON Against a Schema

Check a JSON document against a JSON Schema Draft 07 subset in this browser. Each error lists a plain-language reason, the instance path, and the schema path (JSON Pointer). Remote $ref values are refused and never fetched. Nothing is uploaded.

Load file

Drop a .json or .txt file here. Client-only FileReader. Cap 512 KiB.

Load file

Drop a .json or .txt file here. Client-only FileReader. Cap 512 KiB.

Paste instance JSON and a schema, then press Validate. Checking stays in this browser.

Supported Draft 07 subset

Applied: boolean schemas; type; properties; patternProperties; required; additionalProperties; items; additionalItems; minItems; maxItems; uniqueItems; contains; minProperties; maxProperties; enum; const; minimum; maximum; exclusiveMinimum; exclusiveMaximum (numbers, not Draft 04 booleans); multipleOf; minLength; maxLength; pattern (ECMA-262, unanchored); format as an assertion for email, uri, and date-time only; allOf; anyOf; oneOf; not; local $ref JSON Pointers in this document (# and #/…). definitions and $defs are storage for those pointers.

Not applied: remote $ref (http, https, file, or any non-fragment pointer); named $ref anchors (#name); if/then/else; dependencies; propertyNames; prefixItems; unevaluatedProperties; unevaluatedItems; format values other than email, uri, and date-time. Caps: 512 KiB per editor, 25,000 nodes each, depth 32, 100 errors, pattern length 256, uniqueItems on arrays up to 2,000 items. $schema is recorded only; this checker always uses the subset above, not a second draft engine.