Handytool
Developer guide5 min readUpdated May 27, 2026

Free JSON Schema Tool

See every JSON Schema validation error with its exact path.

Handytool's JSON Schema validator runs Ajv locally in your browser — paste a schema and a data document, and get every failure listed with its JSON pointer path and message in one click.

Key takeaways

  • 01Powered by Ajv, the most widely used JavaScript JSON Schema validator — what passes here passes in Node.js, Fastify, and most JS toolchains.
  • 02Reports every validation error at once (allErrors mode), not just the first failure.
  • 03Each error includes the JSON Pointer path to the failing field for quick navigation.
  • 04Both schema and data run entirely in your browser — nothing is uploaded.

Why Validate JSON Against a Schema?

JSON Schema is the standard way to describe the shape of a JSON document — required fields, allowed types, value constraints, nested object structures. Validating against a schema before a payload reaches production catches type mismatches, missing required fields, and constraint violations early, when they're cheap to fix.

The most common use cases are testing API request and response bodies, validating configuration files, checking OpenAPI example objects, and verifying data exports against a known structure. Handytool's validator uses Ajv — the de-facto JavaScript JSON Schema library, used inside Node.js itself — so the results here match what your backend will see.

How to Validate JSON Against a Schema

  1. 01

    Paste your JSON Schema

    Paste the schema in the left panel. This can be a Draft 7 or 2019-09 or 2020-12 schema with type, properties, required, items, anyOf, allOf — any standard Ajv-supported keyword.

  2. 02

    Paste your JSON data

    Paste the data document you want to validate in the right panel. This is the instance — an API request body, a config object, an export record, or a single example from your OpenAPI spec.

  3. 03

    Click Validate

    Ajv runs the validation with allErrors: true, meaning it collects every failure rather than stopping at the first one.

  4. 04

    Review the error list

    Each error shows the JSON Pointer path to the failing value (e.g. /user/email), the failing keyword (type, required, minimum), and a human-readable message. Fix each one and re-validate.

What Developers Validate With JSON Schema

  • 01REST API request bodies — confirm a payload matches the endpoint's expected shape before sending.
  • 02OpenAPI spec example objects — validate each example against the inline schema component.
  • 03Configuration files — ensure required keys are present and values are the right type.
  • 04Data pipeline records — spot structural drift between data producers and consumers.
  • 05Form submission payloads — test that frontend validation mirrors backend schema constraints.
  • 06Third-party webhook bodies — confirm the documented schema matches the actual payload.

Private Validation, No Server Required

Ajv runs entirely in your browser. Neither the schema nor the data is sent to any server — you can safely validate schemas that describe internal data structures and data objects that contain sensitive field values.

The validator supports JSON Schema drafts 6, 7, 2019-09, and 2020-12. The most common draft in the wild is Draft 7, which covers all everyday keywords: type, properties, required, items, minimum, maximum, pattern, enum, anyOf, allOf, oneOf, not, and $ref.

JSON Schema Validator FAQ

Which JSON Schema drafts are supported?

Ajv supports drafts 6, 7, 2019-09, and 2020-12. Draft 7 is the most common in existing codebases and covers all standard keywords.

Why doesn't my $ref schema resolve?

External $ref URLs are not fetched in this browser-only tool. Inline all referenced schemas using $defs and local JSON pointers like #/$defs/MyType.

Is my schema or data uploaded to any server?

No. Ajv runs entirely in your browser — both schema and data stay on your device.

Can I use this to validate an OpenAPI 3 spec?

You can validate individual schema components and example objects. Validating the whole OpenAPI document requires a dedicated OpenAPI validator that understands the spec meta-schema.

Why do I see multiple errors instead of just the first one?

The validator is configured with allErrors: true, which makes Ajv collect every failure rather than stopping at the first. This is intentional — you can fix all issues in one pass rather than making repeated validation attempts.

Related tools

Keep working with Developer tools

Developer tools