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, and 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, so 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, and 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.