You can add a form from the add panel (A)→ elements → forms section.
Just drag a form block and drop it where you want it on your page.
Anatomy of a form
When you drop a form block onto your page, you get a form wrapper which inherits the full width of its parent element. It contains three child elements:
Form — contains all your form inputs and elements
Success message — this is the message that a user sees when they submit the form successfully
Error message — this is the error message that appears if there's a problem submitting the form.
Structure of your form
To customize your form, you'll be editing the content inside the form wrapper → form element.
By default, the form includes some essential form fields and elements. You can add and remove any form element like an input field or a checkbox inside of the form block to customize your form as needed. You can also add other elements like images and text blocks.
Label — A label is used to describe the function or purpose of a form field.
Input — The input field is used to collect single-line data, like a one-word response to a question.
Text area — The text area field allows visitors to input multi-line data, like a lengthy message.
Checkbox — The checkbox field is best used for input data where the visitor can select one or multiple options. Learn more about checkboxes.
Radio button — The radio button field is best used for input data where the visitor can select only one of many options. Learn more about radio buttons.
Select — The select menu field behaves very similar to a dropdown element, where you can add a list of different options for your visitor to select from. You can also allow for multiple selections. Learn more about select inputs.
Form button — No form is complete without a submit button! This special button is what triggers the action of the form to complete.
Need to know
Form elements can only be dropped inside of a form block which is required to capture data that's collected when the form is filled out.
Configuring form elements
Double-click any form element inside of the form block to open the settings panel. You can also access the settings by selecting the element and pressing enter.
Each form element has different input settings based on its type.
Name — All form elements have a name field. This is how you identify the field on form submissions.
Required — Each form element has the required option. This lets you choose whether the user can submit the form without filling this field out.
Placeholder— For input and text area fields, the placeholder is the text that displays in an empty input field. It can be a sample text or a description of the required information. You can style a placeholder text from the states menu.
Text type — here, you choose what type of input you are asking for. For example, an input field with text type:email will only accept email addresses. A phone text type will only accept phone numbers. A password text type will hide the typed characters in the input field.
Autofocus — If you want an input field to get focus when the page loads, check the autofocus option in the form settings. When a form element has autofocus checked, the page will load and scroll to that element if the form is below the fold.
Troubleshooting — page automatically scrolls down after loading
If your page loads and scrolls down automatically, make sure to uncheck the autofocus option for all input fields of your form.
Double-clicking the submit button brings up the settings modal. Here, you can change the:
Button text — the text that appears on the submit button. The default button text is "Submit."
Waiting text — the text that will replace the button text until the form is submitted. The default waiting text is "Please wait..."
Configuring success and error messages
To access the success and error messages, select the form wrapper and go to the elements settings (D) tab → form settings section. Here, you can see the show state options. Click the state that you want to edit.
Normal state — the default state where you see the actual form on your canvas
Success state — shows what a user will see when they successfully submit the form. You can change the text and customize this as you like.
Error state — shows the message a user will see if there's a problem submitting the form. Again, you can customize the error state as you like.
It’s recommended to include an email address in the error state in case users run into an issue with the form.
When someone submits a form through one of your sites, the submitted data will be sent to the email(s) specified in your form notification settings — and/or redirected to any 3rd-party location if you've set up your form to collect form data elsewhere. If you fully own a website (that is, it's not a client's site), then you can also access this data and manage it in your project settings dashboard or in the Editor dashboard.
Good to know
Forms are easy to integrate with MailChimp and Zapier to help you automate your list building.
You can access the form notification settings under project settings → forms tab.
If you own the project, you can also access and manage the submitted data under the project settings → forms tab. You can view the submissions there, or you can even download a CSV file. You can also access form submissions in the CMS Editor. Learn all about form submissions and how to manage form data.
Disclaimer: The content presented here is provided only for informational purposes and is not meant to serve as legal advice. You should work with professional legal counsel to determine how the GDPR may or may not apply to you.
If you host websites that collect personal data from EU residents — e.g., via form submissions or third-party scripts — you have responsibilities as a "data controller." Take the time to understand your responsibilities as a data controller, and take steps to abide by the GDPR. This data protection self-assessment checklist can be helpful.
If you’re creating forms that request personal data in Webflow, make sure to clearly ask for and get consent, unless another lawful basis for processing applies.
If you’re creating websites for clients who collect personal data on their websites, make sure your clients understand their responsibilities as a controller of that personal data.
If you’re using third-party tools (e.g., Zapier) to connect your Webflow forms to external data sources and are sending personal data using those integrations, make sure to review your responsibilities as a data controller.