Skip to content

Free developer tool · runs in your browser

JSON Schema validator and generator.

Check a payload against its JSON Schema and get every error with the exact path, the rule it broke and where that rule sits in the schema. No schema yet? Generate one from a sample, then tighten it. Draft 2020-12 and draft-07, nothing uploaded.

Mode
Draft
1,946 chars
337 chars
ResultWaiting for input

Both boxes need valid JSON. The error under each gives the line and column.

Errors
–
Draft
–
Schema check
–
Warnings
–

Privacy: this tool runs in your browser. Your JSON is not uploaded or logged. A shared link keeps the input after the #, which browsers never send to a server.

Follows: JSON Schema 2020-12 (checked 2026-10-18) · Draft-07 (checked 2026-10-18) · ajv-formats (checked 2026-10-18) · RFC 6901 (checked 2026-10-18)

What this tool does


Contracts for JSON, checked as you type.

  • 01

    Every error, with its path

    Errors are listed all at once, not one per run: the JSON Pointer to the failing value, a plain message such as must be >= 1, and the schema location of the rule, including rules reached through $ref.

  • 02

    Draft 2020-12 and draft-07

    The draft is read from $schema, or chosen by hand. The schema itself is checked against the draft’s official meta-schema, and anything the tool cannot check, such as a reference to another host, is reported rather than passed silently.

  • 03

    Generate a schema from a sample

    Paste a real payload and get a schema with types, required keys and merged array items, ready to edit. Keys missing from some records stay optional, and string formats such as date-time and email are detected when every value matches.

FAQs · JSON Schema


JSON Schema validation · frequently asked questions

Drafts, formats, references and what the tool cannot check.

Draft 2020-12, the current version, and draft-07, the older draft still found in many existing schemas. The draft is read from the schema’s $schema keyword, or you can choose one. Older drafts are read as draft-07 and the tool tells you so.
Yes, by default, using the ajv-formats definitions for date-time, email, uri, uuid, ipv4 and the rest. Strictly, draft 2020-12 treats format as an annotation unless a validator opts in, so untick the option to match a validator that does not check formats.
A JSON validator checks syntax: is this text valid JSON at all? For that, use the JSON formatter and validator. A JSON Schema validator checks meaning: does valid JSON have the fields, types and values a schema requires?
No. References inside the schema, to #/$defs, #/definitions, an $anchor or an embedded $id, are followed. A reference to another document is reported as a warning and fails the check, rather than being skipped and passing silently. Paste the referenced schema into $defs to check it.
A key is required when every object at that place in your sample has it. Paste several records, an array of real responses, and keys that only some records carry come out optional. Then edit the result: a sample shows what is, not everything that may be.
No. It runs entirely in your browser: nothing you paste is sent to QalbIT, logged or stored. A shared link keeps your input after the # in the address, and browsers never send that part to a server.

Next step


Need contracts your whole stack agrees on?

QalbIT designs APIs schema-first, so the backend, the web app and the mobile app validate against one definition and a breaking change fails a build, not a customer.

More free tools


More free tools

Each one opens on a worked example and shows its answer without a signup.

All free tools