Schema Form Builder
Turn a declared JSON Schema into a working input flow rather than generating random sample data. The strict Draft 7 form profile supports typed nested objects and arrays, enumerated choices, required properties, scalar limits and a bounded if/then/else discriminator convention. Switch conditions, edit real values, jump to the first error and download JSON only after validation.
Key features
- Build an editable form from a fail-closed Draft 7 schema subset and initial JSON
- Edit nested object and array items with clear add/remove controls
- Show active if/then/else fields and remove values hidden by a discriminator change
- Validate required presence, types, enums, lengths, ranges and array bounds with field-level focus
- Choose one/two-column layout and explicit root field order
- Export validated data and a reusable schema, layout and initial-value definition
How to use
- Load the account example or paste a Draft 7 root object schema and initial JSON.
- Select one or two columns and list every root property once in the display-order field.
- Build the form and edit nested fields, arrays and conditional values.
- Validate; use the error summary and focused field to correct each issue.
- Download validated JSON data or the versioned form definition.
Use cases
- Collect a structured onboarding request without hand-writing each field
- Teach how required presence differs from an empty string
- Prototype conditional business/personal inputs
- Export a reusable bounded form specification for review
Frequently asked questions
Does this render every JSON Schema keyword?
No. It accepts only the documented bounded Draft 7 form profile. References, union types, regex, formats, composition keywords and unknown keywords are rejected instead of silently ignored. The separate JSON Schema Validator covers a wider validation profile.
How do conditional fields work?
An object may declare one required discriminator with if.properties containing a const value, plus then and else branches listing base properties with empty schema markers and branch required names. Inactive branch-only fields are hidden and removed when the discriminator changes.
Are required and nonempty the same?
No. Draft 7 required checks property presence. An empty string is present and is rejected only if minLength or another supported assertion requires more.
Can I use nested arrays?
Yes. Homogeneous items may themselves be objects or arrays up to the declared profile depth and 20 items per array. The form reports exact index paths such as /addresses/1/street.
Is my schema uploaded?
No. Editing and validation run in the current browser tab. The schema, initial values and completed data are downloaded only when you choose an export button.
Privacy
Schema text, initial values and form entries stay in browser memory. There is no tool API submission or automatic save; exports are user initiated.
Comments & questions