Form Specification Builder
Build a form schema with field types, validation limits, choices, required fields, and conditional visibility. Preview and export JSON or an implementation brief.
Form specification
{
"name": "Contact request",
"fields": [
{
"name": "email",
"label": "Email address",
"type": "email",
"required": true,
"maxLength": 254,
"errorMessage": "Enter a valid email address."
},
{
"name": "reason",
"label": "What can we help with?",
"type": "select",
"required": true,
"options": [
"General question",
"Billing",
"Other"
],
"errorMessage": "Choose a reason."
},
{
"name": "message",
"label": "Tell us more",
"type": "textarea",
"required": true,
"minLength": 10,
"maxLength": 2000,
"visibleWhen": {
"field": "reason",
"equals": "Other"
},
"errorMessage": "Write between 10 and 2000 characters."
}
]
}Export text stays in English; your input is kept as entered.
No signup. No AI credits. This tool assembles your output in your browser.
From an idea to something useful.
- 01
Add and name your form fields.
- 02
Set validation, choices, and optional visibility conditions.
- 03
Review the live form preview and export the specification.
A little context.
A form specification records what each field accepts and when it appears. This tool supports common HTML field types, required fields, text length limits, and a single equality-based visibility condition per field. The preview runs local client validation; server-side validation and storage remain implementation work.
Good questions.
Will the preview submit my data?
No. Preview submission only validates fields locally and shows a local confirmation. Nothing is saved or sent.
Can I create complex conditional logic?
Each field supports one equality condition on an earlier field. This keeps conditions predictable and avoids circular visibility rules.