JSON Schema Draft-07 Validator
Validate your JSON data against a Draft-07 schema and get clear, actionable error messages. Everything runs client-side — no data is transmitted to any server.
JSON Schema Validator
Validate JSON data against a JSON Schema (Draft 07) with detailed error reporting. Generate schemas from sample data or load examples to get started.
JSON Schema Quick Reference
JSON Schema is a vocabulary for annotating and validating JSON documents. It describes the structure, constraints, and documentation of JSON data.
type— Data type: string, number, integer, boolean, object, array, nullrequired— Array of required property namesproperties— Object property schemasitems— Schema for array elementsenum— Allowed valuespattern— Regex pattern for stringsminimum / maximum— Number range constraintsminLength / maxLength— String length constraintsformat— Semantic format: email, uri, date-time, ipv4, uuid, etc.additionalProperties— Allow or deny extra properties on objects
allOf— Must match all schemasanyOf— Must match at least one schemaoneOf— Must match exactly one schemanot— Must not match the schema
This tool supports JSON Schema Draft 07 with format validation (email, URI, date-time, etc.) via ajv-formats. Everything runs in your browser — no data is sent over the network.
What is JSON Schema Draft-07?
Draft-07 (published 2018) is the most widely adopted version of the JSON Schema specification. It introduced conditional keywords like if/then/else, the readOnly and writeOnly annotations, and the contentMediaType/contentEncoding keywords. Most major validation libraries — including Ajv, jsonschema (Python), and everit-json-schema (Java) — fully support Draft-07.
// JSON Schema Draft-07 example
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": { "type": "string", "minLength": 1 },
"email": { "type": "string", "format": "email" },
"age": { "type": "integer", "minimum": 0, "maximum": 150 }
},
"required": ["name", "email"],
"additionalProperties": false
}
// Node.js — validate with ajv
import Ajv from "ajv";
const ajv = new Ajv();
const valid = ajv.validate(schema, data);
if (!valid) console.log(ajv.errors);Common use cases
Draft-07 validation is used in CI/CD pipelines to validate configuration files, in API gateways to reject malformed requests, in form builders to enforce input rules, and in data engineering to validate records before loading into warehouses. Catching schema violations early prevents runtime errors and data corruption downstream.
Frequently Asked Questions
Should I use Draft-07 or a newer draft?
Draft-07 has the broadest library and tooling support. Newer drafts (2019-09, 2020-12) add features like $dynamicRef and prefixItems, but many tools have not fully adopted them yet. Draft-07 is a safe, well-supported choice for most projects.
What errors does the validator report?
The validator reports type mismatches, missing required properties, pattern violations, array length issues, enum mismatches, and conditional failures. Each error includes the JSON path to the problematic value and a human-readable message.
Related Inspect Tools
JSON Visualizer
Visualize JSON as an interactive tree — collapsible nodes, search, path copy, depth controls, and data statistics
Git Diff Viewer
Paste unified diff output from git diff and view it with syntax highlighting, line numbers, and side-by-side or inline display
Compression Tester
Test and compare Brotli, Gzip, and Deflate compression ratios for text content — sizes, savings, and speed
TypeScript 6.0 Migration Checker
Analyze your tsconfig.json for TS 6.0 breaking changes, deprecated options, new defaults, and get a readiness grade with fixes