Advertisement
Guide
About the JSON Schema Form
Paste a JSON Schema and a form appears beside it, ready to fill in. Every change is checked against the schema as you type, and the panel on the right lists what is wrong and where — handy for designing an API payload, testing a config format, or seeing what a schema actually accepts.
The Data tab holds the same values as JSON. Paste a real payload there to validate it, or fill in the form and copy the result. The form is drawn by react-jsonschema-form and the data is checked by Ajv, the validator most JavaScript tools use.
Works with JSON → TypeScript
JSON → TypeScript can turn sample JSON into a JSON Schema; open it here as a form to check it accepts what you expect. Going the other way, Types from this data sends the form's data to JSON → TypeScript to generate types, Zod schemas, Go structs or Pydantic models.
Schema problems are caught too
If the schema itself is broken — a misspelt type, a $ref that points nowhere — the validator says so instead of silently drawing the wrong form. JSON syntax errors point to their line and column.
How to use it
- 1Paste a JSON Schema in the Schema tab, or pick an example.
- 2Fill in the form; errors show under each field and in the Validation panel.
- 3Optionally, use the UI schema tab to choose widgets and field order.
- 4Copy or download the data, or paste your own JSON in the Data tab to validate it.
Frequently asked questions
Which JSON Schema versions are supported?
Draft-07, 2019-09 and 2020-12. The version comes from the schema’s $schema keyword; without one, draft-07 is used.
What is a UI schema?
A second JSON object that says how to draw fields without changing what is valid: { "bio": { "ui:widget": "textarea" } } makes bio a multi-line box. It is the react-jsonschema-form convention.
Why does the form say a field is required when it is filled in?
An empty text box is sent as no value at all, so a required string must have at least one character. Use minLength to also reject spaces-only values with a pattern.
Can I validate JSON without using the form?
Yes. Paste the JSON into the Data tab; the Validation panel checks it against the schema straight away, and clicking an error jumps to the value.
Is my schema or data sent anywhere?
No. Everything runs in your browser.
