--- title: n8n Form node documentation description: Documentation for the n8n Form node in n8n, a workflow automation platform. Includes guidance on usage and links to examples. contentType: [integration, reference] --- # n8n Form node Use the n8n Form node to create user-facing forms with multiple steps. You can add other nodes with custom logic between to process user input. You must start the workflow with the [n8n Form Trigger node](/08-0-0-Workflow/integrations/builtin/core-nodes/n8n-nodes-base.formtrigger.md). ## Setting up the node ### Set default selections with query parameters You can set the initial values for fields by using [query parameters](https://en.wikipedia.org/wiki/Query_string#Web_forms) with the initial URL provided by the [n8n Form Trigger node](/08-0-0-Workflow/integrations/builtin/core-nodes/n8n-nodes-base.formtrigger.md). Every page in the form receives the same query parameters sent to the n8n Form Trigger node URL. ```{note} Only for production Query parameters are only available when using the form in production mode. n8n won't populate field values from query parameters in testing mode. ``` When using query parameters, [percent-encode](https://en.wikipedia.org/wiki/Percent-encoding) any field names or values that use special characters. This ensures n8n uses the initial values for the given fields. You can use tools like [URL Encode/Decode](https://www.url-encode-decode.com/) to format your query parameters using percent-encoding. As an example, imagine you have a form with the following properties: * Production URL: `https://my-account.n8n.cloud/form/my-form` * Fields: * `name`: `Jane Doe` * `email`: `jane.doe@example.com` With query parameters and percent-encoding, you could use the following URL to set initial field values to the data above: ``` https://my-account.n8n.cloud/form/my-form?email=jane.doe%40example.com&name=Jane%20Doe ``` Here, percent-encoding replaces the at-symbol (`@`) with the string `%40` and the space character (` `) with the string `%20`. This will set the initial value for these fields no matter which page of the form they appear on. ### Displaying custom HTML You can display custom HTML on your form by adding a **Custom HTML** field to your form. This provides an **HTML** box where you can insert arbitrary HTML code to display as part of the form page. You can use the HTML field to enrich your form page by including things like links, images, videos, and more. n8n will render the content with the rest of the form fields in the normal document flow. Because custom HTML content is read-only, these fields aren't included in the form output data by default. To include the raw HTML content in the node output, provide a name for the data using the **Element Name** field. The HTML field doesn't support `