Skip to content
Run here 100% in your browser, no upload, no login

JSON Schema to Form

Turn a JSON Schema into a live HTML form with validation and a JSON result.

Generated form

Build a form from the schema on the left.

Filled result (JSON)

Supported keywords: type, properties, items, required, enum, title, description, default, minimum, maximum, minLength, maxLength, pattern. References and combinators are reported as unsupported.

How to use it

  1. Paste a JSON Schema whose root is an object with a properties map.
  2. Click Build form. Each property becomes a labelled input, select or checkbox.
  3. Fill the form. Validation runs as you type, and problems appear under the field they belong to.
  4. Read the JSON result on the right, which reflects only the fields you filled.
  5. Copy the JSON once the status line says all fields are valid.

Common use cases

Why it stays private

The schema and everything you type into the form stay in your browser. Nothing is uploaded, so internal schemas and the data you enter into them never leave your device.

FAQ

Q: Which keywords are supported? A: type, properties, items, required, enum, title, description, default, minimum, maximum, minLength, maxLength and pattern. Anything else is listed as unsupported when the form is built, so you can see what was skipped.

Q: Why do my $ref definitions not work? A: References are not resolved. A schema that depends on $ref, $defs or definitions is reported as unsupported, and those parts are skipped rather than turned into fields you would have to guess at.

Q: Are optional fields included in the JSON output? A: Only when you fill them. An untouched optional field stays out of the result, while a required one is flagged until you fill it.

Q: Can I nest objects and arrays? A: Yes. Objects open a nested block, and arrays give you an Add item button plus a Remove button per row, with both scalar and object item types supported.

Q: Does this validate against the full JSON Schema specification? A: No. It covers the keyword subset listed above and is meant for quick form building, not for checking a document against Draft 2020-12. Use a dedicated validator for production validation.

Your data stays on this device

JSON Schema to Form runs 100% locally. Everything you paste or drop is processed by your own browser and never transmitted. Nothing is stored on our servers — close the tab and it is gone.

Nothing you type is sent to a server, logged, or used for analytics. The page works even with your network disconnected after first load.