JSON Tools for AI Developers · Runs locally

For AI developers JSON Workbench

Natural language generation · Schema · Zod · OpenAPI · Function Calling · MCP · 30+ tools

JSON Schema validate

A Schema generated from one sample is usually optimistic. You must press a second real response against it before you ship.

Paste the instance on the left, the Schema in the middle, click Validate. Missing required fields and wrong types show up in the report.

Common type, required, and properties are covered. Recheck obscure Draft keywords against the spec.

Validation runs locally. Production data does not need a third-party validator.

The first sample is always optimistic

The payload you used to generate the Schema will usually pass. Acceptance means a second response, an error state, or a missing-field case.

What to fix first when it fails

Fix required and types first. Don't pile on anyOf and soften the Schema — a soft Schema stops constraining.

How to use it

  1. Paste the JSON to validate on the left and the Schema in the middle.
  2. Click Validate and read the report on the right.
  3. Fix the Schema or the data by path, then validate again.
  4. Also test empty arrays, null, and extra fields.
  5. Once it passes, send the same Schema to Structured Output or Zod.

When to use it

  • Accept an auto-generated Schema.
  • Regression: will a new field break old clients.
  • See whether extra fields are rejected when additionalProperties is false.
  • Try one payload in the browser before you wire CI.

Keep in mind

  • This is not a complete implementation of every Draft keyword.
  • format: email is a basic check only.
  • Data is not uploaded.

FAQ

How is this different from Format's validate?

Format only checks whether the text is valid JSON. This page checks whether the instance matches a Schema.

Why does a generated Schema fail?

The second payload added a field, dropped a required one, or turned a number into a string. That is what acceptance is for.

Is format: email supported?

Common formats get a basic check. They do not replace backend validation.

Is my data uploaded?

No.

Can error paths be shown in English?

Errors try to include the field path. Read the path first, then the expected type.

Are oneOf / anyOf accurate?

Common combinations run. Trust especially complex ones only after you compare with a spec implementation.

Does it validate every array item?

If the Schema has items, each item is checked. Without items, the constraint is weak.

Does this match the blog's acceptance order?

Yes: generate → human edit → validate a second payload → then export Zod / OpenAPI.