Generate an HTML signup form for your website

Use our signup form builder to generate HTML which can be embedded anywhere on your site, and customized with your own CSS.

Note: This type of signup form requires knowledge of HTML and CSS. For forms that don't require any coding skills, try our subscribe button or subscribe page.

Creating the signup form code

To create a signup form for your website, in your account:

  1. Open Lists & subscribers.
  2. Select the list you want to collect signups for.
  3. On the list page, click Signup forms in the right sidebar.
  4. On the "Signup forms" page, click Copy/paste a form to your site.
  5. Add, remove, and reorder your form fields.

  6. Click Get the code.
  7. Copy the HTML code and paste it into your website.

Note: The form builder only shows a basic representation of your signup form. Your own site's CSS will affect how it looks.

After you generate your signup form code, you can manually edit the HTML. The following should not be removed, as they link the form to your list:

  • The form action.
  • The email field, which is required.
  • Unique identifiers, which look like name="cm-f-jrddhr" and label for="fieldulyhlr".
Add, remove, and reorder signup form fields

A default form only contains "Name" and "Email" fields, however you can:

  • Add and remove form fields — Any custom fields added to your subscriber list will be listed below the default fields. Select the checkbox next to the fields you want subscribers to fill in.
  • Change the display order — Click and drag the handles to reorder fields:

Add multiple lists to a single signup form

If you have more than one list, the other list names are displayed so you can include them on the signup form, allowing people to opt-in to multiple lists at the same time.

If custom fields are included on the form, and the additional lists have custom fields of the same name and type as the original list, the subscriber data submitted will be added to both the original and additional lists. Field names are not case sensitive.

Note: To reduce confusion for subscribers when including multiple lists on the one signup form, make sure the selected lists are either all confirmed opt-in, or all single opt-in. If all the lists are confirmed opt-in, the subscriber will only receive a single confirmation email that will add them to all lists.

Make signup form fields required

To set a field as "required" so it is mandatory for subscribers to fill out, you will need to edit the generated HTML code and add required to the input element. For example:

<input id="fieldiddtyu" name="cm-f-iddtyu" type="text" required />

TIP: Safari on iOS, and Safari versions older than 10.1 on MacOS don't support the "required" attribute. To add support, you will need to use a polyfill like Hyperform or html5Forms.

Create a secure signup form by using HTTPS instead of HTTP

To create a secure, encrypted form, you will need to edit the generated HTML code, so the URL after form action= uses HTTPS instead of HTTP. For example:

<form action="" method="post" id="subForm">
Add CAPTCHA to your signup forms

To prevent spambots from poisoning your list, you can add a verification step called a CAPTCHA. This is a great way to filter out any non-human responses.

To force the CAPTCHA step, first generate your code, then look for the input id="fieldEmail" code. In that same line, change the name="cm-[unique identifier]" to name="email". For example:

Now when the form is submitted, a CAPTCHA will need to be passed to complete the subscription: