JSON Schema Validator
Validate JSON against a local draft-07 schema, inspect instance-pointer errors and check schema structure. Includes local definitions, composition, conditional and array/object assertions.
Settings
Try the example or enter your own settings.
Draft-07 only. Format and content keywords are annotation-only. No coercion, default insertion, remote schema fetches or supplied-code execution. Nested $id scopes and unknown/extension keywords are rejected. JavaScript decimal arithmetic is approximate; unsafe integers are rejected. Advertising scripts can technically access inputs; use public examples for confidential data.
Using JSON Schema Validator
Validate JSON against a local draft-07 schema, inspect instance-pointer errors and check schema structure. Includes local definitions, composition, conditional and array/object assertions.
- Paste a JSON instance and a draft-07 schema, or select the file destination and open UTF-8 JSON. The example intentionally fails three assertions.
- Validate and inspect the status, keyword messages and instance JSON Pointer locations. Correct data or schema and run again.
- Copy/download the JSON report or export error rows as CSV. No input values are changed; check the documented dialect and numeric limits.
Example
Try the included editable example. Validate and inspect the status, keyword messages and instance JSON Pointer locations. Correct data or schema and run again.
Questions & answers
Which schema dialect is supported?
Draft-07. A missing schema declaration is treated as draft-07. Later dialects, unknown keywords and nested ID scopes are rejected to avoid silently ignoring unsupported validation rules.
Can schemas reference other schemas?
Local references such as #/definitions/item are supported. External URLs, external files and named anchors are rejected; the tool never fetches schemas. Recursive references may exceed worker/time or call-stack limits.
Are email and date formats checked?
No. format, contentEncoding and contentMediaType are annotations only. This result checks structural assertions, not the meaning of email, dates or encoded content.
Will it change my data?
No. Types are not coerced, defaults are not inserted and extra properties are not removed. Duplicate JSON keys are rejected in both inputs.
Are large numbers exact?
Validation uses JavaScript binary64 arithmetic. Unsafe integers and nonfinite values are rejected; use strings for large identifiers. Decimal arithmetic can differ from exact mathematical validation. Use a decimal-capable validator for financial or high-precision requirements.
What limits and reports apply?
Each input allows 100,000 characters, 10,000 JSON nodes and 40 container levels. Schema traversal allows 2,000 subschemas and 32 schema levels; regex patterns are capped at 500 characters. A local worker has a timeout and cancellation. Reports contain up to 100 errors or the first error, with the total error count.
Help improve this tool
Report a problem or suggest an improvement
Describe the issue without pasting private tool input. Feedback goes to our admin inbox.
