/tools/json-schema-validator
JSON Schema Validator & Generator
Validate an instance against a modern JSON Schema, inspect precise JSON Pointer errors, or infer a conservative Draft 2020-12 starting point.
JSON Schema
2 MiBJSON instance or sample
10 MiBResult
/validate
How to validate JSON against a schema
- Paste a Draft 2020-12, 2019-09 or Draft 7 schema.
- Paste the JSON instance to check.
- Select Validate or press Ctrl/Command + Enter.
- Use the instance pointer and schema path to fix each violation.
The schema compiler runs inside a disposable browser worker. Internal $ref and $dynamicRef values are supported; network and remote references are deliberately disabled.
/generate
Generate a reviewable JSON Schema from sample data
The generator observes objects, arrays, nulls and mixed primitive types. A property becomes required only when it appears in every applicable object. It does not invent enums, numeric limits, patterns or a closed additionalProperties policy, because a representative sample cannot prove those constraints.
Conservative by default
String format inference is optional. Generated schemas are a documented starting point, not a substitute for an API contract review.
Precise error locations
Validation errors expose RFC 6901 JSON Pointer instance paths, schema paths and the failing keyword without inserting defaults or changing the input.
/privacy
Private schema validation for API debugging
Input stays in the browser and is never included in analytics. This is useful for checking webhook payloads, configuration documents and API responses that should not be pasted into a hosted validation service.
Practical limits
General JSON Schema validation is bounded to 10 MiB and exact JavaScript integers. Very large documents can use the file-backed JSON Viewer for syntax inspection, but full schema keywords such as uniqueItems cannot be evaluated safely as an arbitrary 4 GiB stream.
/faq
JSON Schema validation questions
Does validation change my JSON?
No. Coercion, default insertion, property removal, custom keywords and other mutating extensions are disabled.
Will an external $ref be downloaded?
No. References must resolve inside the pasted schema; remote references are rejected before compilation.