A LITTLE HELP. A LOT DONE.
Good tools.
Great flow.

Your shortcut to the everyday. Create, convert, calculate,
and get back to what you love.

✓ Free to use✓ No sign-up✓ 500+ possibilities
Developer

JSON Schema Validator

Validate JSON data against a JSON Schema Draft-07 and see detailed validation errors.

Loading interactive tool…

About this tool

JSON Schema Validator checks a JSON document against a Draft-07 JSON Schema and reports whether it is valid. Paste the data and schema into the two editors, load the sample pair, or format either panel before validating. The browser loads the Ajv validator from a CDN when you run the check, then displays validation messages and instance paths for failures. Internal references and common Draft-07 keywords can be tested in the tool; external references require the referenced schema to be inlined. Results are a validation aid, so test schemas against the exact validator and draft used by your application.

Why use it

  • Validates Draft-07 JSON Schemas in the browser.

  • Error messages include JSON Pointer paths to the failing element — no manual hunting through nested objects.

  • Handles common Draft-07 composition keywords and internal $ref references.

  • Both panels have syntax highlighting and formatting controls for readability.

How to use

  1. Paste the JSON data document into the JSON Data panel.
  2. Paste a Draft-07 JSON Schema into the JSON Schema panel.
  3. Click Validate to compile the schema and check the data.
  4. Review the valid/invalid result and any instance paths in the error list.
  5. Use Load sample to start with a working Draft-07 schema and data pair.

When it helps

  • Debugging why API request/response data fails schema validation in production logs.
  • Developing and testing JSON Schemas for APIs or configuration files.
  • Validating configuration files before deployment.
  • Checking that generated JSON matches a shared contract schema.
  • Validating configuration files (e.g. eslint, prettier, package.json) before deployment.

Examples

Simple object validation

Input
Schema: { type: 'object', required: ['name'], properties: { name: { type: 'string' } } }
Data: { "name": "Ada" }
Expected result
Valid — required field present and type matches.

Missing required field

Input
Same schema as above. Data: { "age": 36 }
Expected result
Invalid: '/' must have required property 'name'

anyOf composition

Input
Schema: { anyOf: [ { type: 'string' }, { type: 'number' } ] }
Data: true
Expected result
Invalid: '/' must match a schema in anyOf — boolean does not satisfy string or number.

Format assertion

Input
Schema: { type: 'string', format: 'email' }
Data: "not-an-email"
Expected result
Invalid: '/' must match format 'email' (when format assertion enabled).

Tips

  • Set additionalProperties: false at the top of object schemas to catch typos in property names — a common source of bugs.
  • Use definitions for reusable Draft-07 subschemas and reference them with an internal $ref.
  • Prefer enum for closed sets of values (e.g. status: 'active' | 'archived'), and use pattern only when string format requires regex.
  • Test edge cases: empty arrays, null values, and missing optional fields. Each often surfaces a schema gap.
  • Keep the schema draft and validator settings aligned with the application that will run the check.
  • Treat format results as implementation-dependent and verify them against the exact Ajv configuration used by your application.

Frequently Asked Questions

Which JSON Schema draft does it support?
The browser validator is configured for Draft-07. Draft-2019-09 and Draft-2020-12 features are not selected by this tool.
Does it support internal $ref references?
Yes. References within the supplied schema document can be tested; external URL references must be inlined before validation.
What does an instance path identify?
Each validation error includes the path to the failing value in the JSON data, helping locate the problem in nested objects or arrays.
Does it change or coerce my JSON values?
No. It validates the supplied JSON and reports errors without rewriting the data.
Is the result a substitute for testing my application?
No. Use the same validator version and settings as your application when checking production schemas, especially for formats and custom keywords.

Explore the category

Glossary

JSON Schema
A vocabulary that allows you to annotate and validate JSON documents. Specified at json-schema.org with multiple draft versions over time.
Draft versions
A JSON Schema specification version. This tool validates Draft-07; other drafts require a validator configured for those specifications.
$ref
A keyword that references another schema by URI, JSON Pointer, or local fragment. Allows reuse of common subschemas without duplication.
$defs
A keyword used by later JSON Schema drafts for declaring reusable subschemas. Draft-07 schemas use 'definitions' instead.
additionalProperties
Controls whether objects may contain properties not listed in 'properties'. Set to false to enforce strict shape; set to a schema to validate unknown properties.
Type coercion
JSON Schema validation does NOT coerce types — '1' (string) does not match type: 'number'. Coerce input data with code if your transport (e.g. query strings) sends strings.
JSON Pointer
RFC 6901 syntax (e.g. /data/items/0/name) for addressing values within a JSON document. Used in $ref and validation error paths.
Format keyword
Annotates strings with semantic types (email, uri, date-time, uuid). Validators may assert (enforce) or annotate (informational only) — controlled by configuration.