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, 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

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