Skip to developer tool
DEVELOPER TOOLKIT DATA & JSON

JSON Schema Validator

Check whether a JSON value satisfies the schema you provide. Review required properties and type failures with detailed error locations, then export the verdict and error records for a review note.

Browser-based · No account required · Copy and export

BUILT FOR THE DETAILS
  1. 01Add your input
  2. 02Inspect & adjust
  3. 03Use your result
Browse developer tools

Your workspace

Developer tools
Ready

How to use JSON Schema Validator

  1. Enter a supported JSON Schema and JSON value. The bundled validator supports draft-07-era schemas rather than every newer draft.
  2. Choose all-errors reporting and unknown-format handling. Use the valid or failing example to see the expected workflow.
  3. Validate in a worker, inspect the verdict and errors, then copy or download a structured report.

When to use this tool

Check fixture data against a draft-07-compatible contract before using it in a test or integration. Syntax-valid JSON can still fail required-field, type or value constraints.

Schema validity and instance validity are different

A malformed JSON document cannot be evaluated as an instance. A schema can also be syntactically valid JSON but unsupported or invalid as a schema. A successful validation means the instance passed the constraints in that schema; it does not establish the data's truth, authorization or suitability for an application. The existing strict control concerns unknown formats, not a newer Ajv strict-mode feature set.

Worked example

Schema: {"type":"object","required":["name"],"properties":{"name":{"type":"string"}}}
Valid instance: {"name":"PixelOkay"}
Failing instance: {"name":42}

Validate a small record contract without silently repairing it

Original schema practice input

{"type":"object","required":["id","quantity"],"properties":{"id":{"type":"string"},"quantity":{"type":"integer","minimum":1}},"additionalProperties":false}
Expected outcomes for this supplied schema
InstanceCheck
{"id":"0012","quantity":2}Matches the stated constraints.
{"id":"0012","quantity":"2"}Quantity is text, not an integer.
{"id":"0012","quantity":0}Quantity is below the chosen minimum.
  1. Paste the authored schema and one instance at a time. Distinguish JSON syntax or schema-compilation errors from a completed instance-validation result.
  2. Review the failed constraint and location. Correct data only when you know the intended meaning; this page does not coerce strings to numbers or insert defaults.
  3. Revalidate after the correction and download the report when needed. Treat a worker failure or unsupported schema as inability to validate, not a valid verdict.

The table describes expected schema rules, not a freshly executed report. A passing instance is not proof of inventory, authorization or business truth. Keep the schema aligned with the pinned engine's supported dialect. Use JSON Diff to review a correction or JSONPath Tester to locate records for inspection.

Limits and output checks

The existing Ajv 6 engine remains pinned. Draft 2019-09/2020-12 and asynchronous remote schema fetching are not added. Inputs use the shared safe-number and text guards. Expensive validation has a worker deadline. Review format behavior against the schema dialect your application actually uses.

Reference: JSON Schema validation concepts.

Frequently asked questions

Why does a modern schema fail to compile?

Its draft or vocabulary may not be supported by the bundled Ajv version. Use a supported schema or validate in your application's matching validator.

Does this change or coerce my JSON data?

No type coercion or default insertion is enabled by this page. The verdict describes the supplied instance.

What happens when parsing or compilation fails?

The page reports inability to validate. The downloadable report distinguishes that state from a completed valid/invalid instance verdict.

A practical workflow

Use a supported schema to describe required properties and validate a sample instance. Read the result as a check against that supplied schema.

Read the scope alongside the result

The pinned engine does not add newer drafts or remote schema fetching. Compilation failure is different from a completed invalid-instance result; data is not coerced or given defaults.

Related next steps

All developer tools · Privacy policy · Contact PixelOkay