{
  "slug": "html-form-generator",
  "name": "gizza-ai/html-form-generator",
  "version": "0.1.0",
  "title": "HTML Form Generator — Build Accessible Form Markup — gizza.ai",
  "description": "Generate clean, accessible HTML form markup from a plain field list — labels, validation, selects, radios and textareas. Free, private, in-browser.",
  "tags": [
    "html form generator",
    "form builder",
    "html form code",
    "accessible form",
    "contact form generator",
    "form markup",
    "input validation",
    "label for",
    "select radio checkbox"
  ],
  "category": "developer",
  "urls": {
    "page": "https://gizza.ai/tools/html-form-generator/",
    "markdown": "https://gizza.ai/tools/html-form-generator/index.md",
    "descriptor": "https://gizza.ai/tools/html-form-generator/tool.json",
    "deep_link_example": "https://gizza.ai/tools/html-form-generator/?fields=Full%20Name%2A%0AEmail%2A%20%7C%20email%0AMessage%20%7C%20textarea%20%7C%20How%20can%20we%20help%3F%0ATopic%20%7C%20select%20%7C%20Sales%2C%20Support%2C%20Other&method=post&action=%2Fsubmit&submit_label=Submit&styled=true"
  },
  "cli": "gizza tool html-form-generator \"Full Name*\nEmail* | email\nMessage | textarea | How can we help?\nTopic | select | Sales, Support, Other\"",
  "tool": {
    "description": "Generate accessible, ready-to-paste HTML <form> markup from a plain-text description of fields. Describe one field per line as 'Label | type | options': end a label with '*' to make it required; type (default text) is one of text, email, password, number, tel, url, date, time, textarea, select, radio, checkbox, checkboxes; for select/radio/checkboxes give a comma-separated option list, otherwise the third part is a placeholder. Each field gets a slugified name/id, a properly bound <label for>, validation attributes (required, type=email/url/number/...), and unique names; output can include a small <style> block. Set method (post/get), action URL, and the submit button label.",
    "parameters": {
      "additionalProperties": false,
      "properties": {
        "action": {
          "default": "",
          "description": "The form's 'action' URL where it submits. Blank (default) omits the attribute.",
          "type": "string"
        },
        "fields": {
          "description": "The form fields, one per line, pipe-separated as 'Label | type | options'.",
          "type": "string"
        },
        "method": {
          "default": "post",
          "description": "The form's HTTP method attribute: 'post' (default) or 'get'.",
          "enum": [
            "post",
            "get"
          ],
          "type": "string"
        },
        "styled": {
          "default": true,
          "description": "When true (default), prepend a small <style> block and add the 'gizza-form' class.",
          "type": "boolean"
        },
        "submit_label": {
          "default": "Submit",
          "description": "Text on the submit button. Default 'Submit'.",
          "type": "string"
        }
      },
      "required": [
        "fields"
      ],
      "type": "object"
    }
  }
}