JSON Schema Validator
Validate JSON against a JSON Schema (draft-07 to 2020-12) with clear, path-aware error messages.
Validation results will appear here.
How it works
Paste a JSON Schema on the left and the JSON document to check on the right. When you press Validate, both are parsed first — a syntax error in either is reported with its line and column. The schema's $schema declaration then selects the validator for that draft (draft-07, 2019-09 or 2020-12), and the document is checked against every constraint: types, required properties, enums, formats, numeric ranges, array items, nested subschemas and more.
Validation runs on Ajv — the most widely used JSON Schema validator in the JavaScript ecosystem — with its errors translated into plain language with readable paths like tags[0].
Features
- Draft-07, 2019-09 and 2020-12 — auto-detected
- Readable errors with exact instance paths
- Format checking: email, date-time, uri, uuid, ipv4…
- Boolean schemas (true / false) supported
- Syntax errors reported with line and column
- 100% client-side — nothing leaves your browser
How to use
- Paste or upload your JSON Schema.
- Paste or upload the JSON document to validate.
- Press Validate — a green result means the document matches; otherwise each error is listed with its location and reason.
Example
Schema: { "type": "object",
"required": ["name", "age"] }
Input: { "age": 30 }
Result: ✗ Invalid — the object is missing the required
property "name".Frequently asked questions
- Which JSON Schema drafts are supported?
- Draft-07, 2019-09 and 2020-12. The draft is detected automatically from the schema's $schema declaration; without one, draft-07 (the most widely deployed) is assumed. Validation runs on Ajv, the de-facto standard JSON Schema validator for JavaScript.
- Does the tool check that my schema itself is correct?
- It checks what it can: the schema must be valid JSON and Ajv must be able to compile it (an invalid $ref or a malformed regular expression in a pattern, for example, is reported). It does not validate the schema against the meta-schema — a schema with harmless typos in keyword names may simply be ignored rather than flagged, because the specification says unknown keywords must be ignored.
- What does a path like tags[0] in an error mean?
- It points at the exact place in your document that failed — here, the first element of the tags array. Errors at the top level are reported at (root). The message also names the constraint that failed, such as a missing required property or a wrong type.
- How many errors are shown at once?
- Up to 25, de-duplicated. A large invalid array can produce hundreds of errors, so after the first 25 the tool tells you to fix those and validate again — that keeps the output readable instead of flooding the page.
- Are format keywords like format: email checked?
- Yes. Common formats from the specification — email, date, date-time, uri, uuid, ipv4 and others — are validated. Note that JSON Schema defines most formats as optional assertions; this tool enforces them because that is what people usually want when they use them.
- Is my data sent to a server?
- No. Both the schema and the document are validated entirely in your browser. Nothing you paste is transmitted anywhere — you can verify this in your browser's network inspector.
Related tools
- JSON ValidatorCheck whether JSON is valid and get precise error locations with line and column numbers.
- JSON FormatterFormat and beautify JSON with configurable indentation, or minify it in one click.
- JSON to CSVConvert JSON arrays of objects to CSV with automatic column detection and proper escaping.