JSON Schema is a vocabulary for describing the structure of a JSON document. It lets you specify which keys are required, what data types each field accepts, and what constraints apply — so you can validate API payloads, generate documentation, and enforce contracts between services automatically. Writing it by hand is tedious; auto-generating it from a sample takes seconds.
What is JSON Schema draft-07?
Draft-07 is the most widely supported version of the JSON Schema specification. It is understood by validators in every major language (Python's jsonschema, Node.js's ajv, Java's everit-org/json-schema) and is the default target for schema generators and API tools like Swagger and OpenAPI 3.0.
A draft-07 schema describes a JSON document using keywords like type, properties, required, items, and additionalProperties. A basic example:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": { "type": "integer" },
"name": { "type": "string" },
"email": { "type": "string" }
},
"required": ["id", "name"]
}How auto-generation works
Paste a representative JSON sample and the generator infers a schema by inspecting every key and value:
- String values →
"type": "string" - Integer values →
"type": "integer" - Float values →
"type": "number" - Boolean values →
"type": "boolean" - Null values →
"type": "null" - Objects →
"type": "object"with nestedproperties - Arrays →
"type": "array"withitemsschema inferred from elements - Keys present in the sample → listed in
required
The limitation of any auto-generator: it can only infer from what is in the sample. If a field is sometimes null, sometimes a string, you need to manually adjust the schema to use anyOf. Always review the generated output before using it in production validation.
Use cases for JSON Schema
API validation: Validate request and response bodies at the gateway or middleware layer before any business logic runs. Catch missing required fields and wrong types early, return structured error messages.
Documentation: JSON Schema is the source of truth for OpenAPI spec definitions. Generate it once and reuse it across Swagger UI, Postman collections, and client SDK generators.
Contract testing: In a microservices architecture, use schemas to verify that a producer's output still satisfies every consumer's expectations after a code change. Tools like Pact use JSON Schema internally for this purpose.
Form generation: Libraries like react-jsonschema-form render a UI form automatically from a JSON Schema — useful for generating admin panels and configuration editors without writing custom form code.
Auto-generate a JSON Schema draft-07 from any JSON sample — free, instant:
Generate JSON Schema →