Free tool

Newsletter signup form generator

Formgong team ·

The sample is the short kind: an email, an optional first name and a consent checkbox. Copy it as plain HTML, or as React or Vue with a success message on the same page.

Short answer: A newsletter signup form generator writes the email field and consent box for your site. This sample asks for an email, an optional first name and a required, unticked consent box. Formgong collects each signup and tells you. It does not send the newsletter. Forward signups to your email tool with a webhook, Make or n8n.

Newsletter signup form template

Change the wording or add a field in the box, or build it yourself without AI. The HTML tab is selected. It is a normal POST form: no script is needed on your page.

Live preview

Preview only. Nothing is sent from this page.

Get the newsletter

Copy the code

Replace fk_your_access_key with your own Formgong access key. The placeholder does not accept submissions. The honeypot field is named botcheck. Leave it empty.

The HTML form posts in the browser. React and Vue show an error on the page if the request fails. These class names need Tailwind on your site. This page does not load Tailwind. Bootstrap 5 class names need Bootstrap on your site. This page does not load Bootstrap.

HTML
<style>
#fg-fk_your_access_key{box-sizing:border-box;max-width:520px;width:100%;padding:28px;border:1px solid #dbe2ea;border-radius:8px;background:#fff;color:#0f172a;font:16px/1.5 system-ui,sans-serif;display:grid;gap:16px}#fg-fk_your_access_key *{box-sizing:border-box}#fg-fk_your_access_key h2{font-size:24px;line-height:1.3;margin:0 0 4px;color:#0f172a}#fg-fk_your_access_key label{display:grid;gap:6px;font-weight:500}#fg-fk_your_access_key input,#fg-fk_your_access_key textarea,#fg-fk_your_access_key select{width:100%;font:inherit;min-height:44px;border:1px solid #94a3b8;border-radius:8px;padding:10px 12px;background:#fff;color:#0f172a}#fg-fk_your_access_key textarea{min-height:96px;resize:vertical}#fg-fk_your_access_key .fg-reminder-consent{display:flex;align-items:flex-start;gap:10px;font-weight:400}#fg-fk_your_access_key input[type=checkbox]{width:20px;min-height:20px;flex-shrink:0;margin:2px 0}#fg-fk_your_access_key button{font:inherit;font-weight:600;min-height:48px;padding:12px 20px;border:0;border-radius:8px;background:#4338ca;color:#ffffff;cursor:pointer}#fg-fk_your_access_key :focus-visible{outline:3px solid #4338ca;outline-offset:3px}#fg-fk_your_access_key button:disabled{cursor:wait;opacity:.7}#fg-fk_your_access_key p{margin:0}#fg-fk_your_access_key fieldset{border:0;padding:0;margin:0;display:grid;gap:8px;min-width:0}#fg-fk_your_access_key legend{font-weight:500;padding:0;margin-bottom:6px}#fg-fk_your_access_key .fg-choice{display:flex;align-items:center;gap:10px;font-weight:400}#fg-fk_your_access_key input[type=radio]{width:20px;min-height:20px;flex-shrink:0;margin:0}#fg-fk_your_access_key .fg-trap{position:absolute;inset-inline-start:0;top:0;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
</style>
<form id="fg-fk_your_access_key" action="https://formgong.com/submit" method="POST">
  <h2>Get the newsletter</h2>
  <input type="hidden" name="access_key" value="fk_your_access_key">
  <input type="hidden" name="_lang" value="en">
  <label>Email * <input type="email" name="email" required autocomplete="email"></label>
  <label>First name <input type="text" name="first_name"></label>
  <label class="fg-choice"><input type="checkbox" name="consent" value="yes" required> Yes, email me the newsletter. I can unsubscribe at any time. *</label>
  
  <div class="fg-trap" aria-hidden="true"><label>Leave this field empty<input name="botcheck" tabindex="-1" autocomplete="off"></label></div>
  
  
  <button type="submit">Subscribe</button>
</form>

Make it live free

Create a free form, then open Connect on that form in this browser. If it still has the default name, email and message fields, they are replaced with this form.

What the signup form does and does not do
Formgong formYour email tool
Collects the addressYes, with the consent tickOnly if you forward it
Tells you about each signupEmail or TelegramDepends on the tool
Sends the newsletterNoYes
Double opt-in, unsubscribe linkNoYes

A signup form with a success message

The HTML version sends the visitor to Formgong’s thank-you page after the signup is stored, or to your own page if you add a hidden _redirect field. The visitor leaves your page for a moment.

To stay on the page, take the React or Vue tab. It sends the fields with fetch and writes the thank-you line only when the answer says success: true. A refused signup or a dropped connection is written into the same line, so nobody thinks they subscribed when they did not.

Getting signups into your email tool

Formgong is the form backend, not a newsletter service. Each signup lands in your Formgong inbox and you get an email or a Telegram message about it. Formgong does not add the address to a mailing list by itself.

To add people to Mailchimp, Brevo or another tool, forward each signup with Make, n8n or a plain webhook. Or download the submissions as a CSV file now and then and import that.

The Stilla, Somna and Ocra templates each have a working newsletter signup if you want to see one in a finished site.

Free limits, email and storage

The signup form code is free to copy. Signups are delivered only after you replace the placeholder key.

Copying the code needs no account. AI generations are limited to 5 an hour and 10 a day for each network, plus 100 a day for the whole site. When a limit is hit, use “Build it yourself, without AI”. That path does not call the model.

On the free plan, Telegram is instant and email is sent for every submission. The free plan is 1,000 submissions a month. Auto-reply is not on the free plan. Submission data is stored in the EU. Support is Formgong at support@formgong.com.

Your description is sent to the model so it can choose fields. It is not stored. Do not paste passwords, card numbers or other secrets.

Questions

How do I make a newsletter signup form in HTML?

Use a form with an email input, a consent checkbox and a submit button, posting to a form backend. Copy the HTML tab on this page and replace the placeholder key.

Does Formgong send my newsletter?

No. Formgong collects signups and notifies you. Send the newsletter from an email tool, and forward signups there with Make, n8n or a webhook.

Can the form show a success message without leaving the page?

Yes. Use the React or Vue tab. It shows thanks only when the answer says success: true, and shows the error otherwise.

Should the consent box be ticked by default?

No. Under the GDPR, a pre-ticked box is not valid consent. The sample leaves it unticked and required.

Do I need a first name field?

No. Keep it if you write emails that start with the name. Every extra field is one more thing to type.

Sources

Checked on 16.10.2026 against these public pages: GDPR Article 7: Conditions for consent, MDN: input type=email, MDN: input type=checkbox.

← Formgong