JSON Schema structured-output compatibility checker
Paste a schema to inspect its compatibility with the dated Claude profile. Review findings by JSON Pointer and inspect a draft with a constraint-loss report.
Local schema inspection with a reviewable loss report. JavaScript is required.
How it works
The checker walks schema positions, decodes URI-fragment escapes and records local references, and compares keywords with the linked Claude documentation. It does not traverse example or default values as schemas. Unsupported constraints are removed only in the displayed draft; your original input stays intact.
Removing a constraint weakens validation. Adding additionalProperties: false excludes undeclared keys. Review both kinds of change before use. Counts are integers; there is no rounding.
Worked examples
One numeric constraint and one object restriction
The initial example has age with minimum: 0 and omits additionalProperties. It produces 2 loss findings: remove minimum and add additionalProperties: false.
A closed object with one required string
{"type":"object","properties":{"name":{"type":"string"}},"required":["name"],"additionalProperties":false} has 0 findings and 0 optional properties.
Profile scope
Claude profile checked 2026-11-14. This single-schema checker reports optional-property and union-node counts. Repeated references and combinations of multiple schemas need request-level review. Regex patterns receive manual review even when no known unsupported construct is found. Candidate schemas can still contain blocking findings.
Frequently asked questions
Does a clean report prove the API will accept my schema?
Does the draft preserve validation?
What happens to unknown keywords?
Are references fetched?
How large can my schema be?
Sources
- RFC 6901 — JSON Pointer sections 4 and 6 (checked 2026-11-14)
- Claude — Structured outputs: JSON Schema limitations and complexity (checked 2026-11-14)
Last reviewed 2026-11-14; next review due by 2026-12-14. The method is written out above so you can check our math.