Schema editor and fixture tests

Author a schema, see exactly which keywords will be enforced, and prove it with fixtures that must pass or must fail.

Schema

Meta-check and capability

Dialect
2020-12 supported
Keywords
$schemaadditionalPropertiesdefaultitemsmaximumminimumpatternpropertiesrequiredtitletypeuniqueItems
References
none

evaluated annotation not evaluated unknown

Shape check against meta-schema subset 0.1.0

A self-authored subset of the 2020-12 meta-schema: it checks keyword value shapes (type names, required lists, numeric limits, regex syntax). Not the official meta-schema.

Checking…

Fixtures

Each fixture must produce the expected schema result. Inconclusive results (schema incomplete/unsupported) count as neither pass nor fail.

Infer a draft from examples

Test schemas like code

Pair your schema with small YAML fixtures marked “should be valid” or “should be invalid”. A fixture that passes when it should fail is how you catch a schema that is too loose.

Inferred schemas are drafts: every key seen in all examples becomes required and no value constraints are guessed. Treat them as a starting point.

Questions

Which dialects are supported?

JSON Schema 2020-12 (default when $schema is missing), 2019-09, draft-07, and draft-04; draft-06 is checked with draft-07 rules. Other $schema values are reported as unsupported.

Is my YAML uploaded anywhere?

No. Parsing, schema validation, rules, fixes and reports all run in your browser (validation runs in a Web Worker). There is no backend, no account and no content analytics. Drafts and history are stored only in this browser’s IndexedDB, and you can clear them or switch to memory-only mode.