Skip to main content

JSON Schema Validator

Validate JSON against a JSON Schema (draft-07 to 2020-12) with clear, path-aware error messages.

Runs in your browser — your data never leaves your deviceFree, no sign-up
Validation errors

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

  1. Paste or upload your JSON Schema.
  2. Paste or upload the JSON document to validate.
  3. 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.