Free tool

HTML form generator

Formgong team ·

This page writes a plain HTML form you can paste into any page. No Tailwind, no Bootstrap, no script. The sample has a name, email, phone, a subject list and a message.

Short answer: An HTML form generator gives you markup you can paste into any page. This one writes a plain form element with labels, required fields, a small style block and a honeypot. No Tailwind or Bootstrap classes. The action already points to Formgong, so once you add your key the form sends without any JavaScript.

HTML form generator online

Describe the form in a sentence, or edit the fields without AI. The preview updates, and the HTML tab holds the code. Five field types are in the sample so you can see how each one is written: text, email, tel, a select and a textarea.

Live preview

Preview only. Nothing is sent from this page.

Get in touch

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 in touch</h2>
  <input type="hidden" name="access_key" value="fk_your_access_key">
  <input type="hidden" name="_lang" value="en">
  <label>Name * <input type="text" name="name" required autocomplete="name"></label>
  <label>Email * <input type="email" name="email" required autocomplete="email"></label>
  <label>Phone <input type="tel" name="phone" autocomplete="tel"></label>
  <label>Subject * <select name="subject" required><option value="">—</option><option value="A question">A question</option><option value="A quote">A quote</option><option value="Support">Support</option></select></label>
  <label>Message * <textarea name="message" required></textarea></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">Send</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.

HTML form generators, checked 16 October 2026
This pageBasin HTML form generator
How you buildA description, or fields typed by handTemplates, then add, remove and reorder fields
OutputPlain HTML with a scoped style block, plus framework tabsPlain HTML for your own styles
Where it postsFormgong, after you add a keyBasin, after you add an endpoint
Account to copyNoneNone

What is in the HTML

  • The form element. action is Formgong's /submit address and method="POST". That is all a browser needs to send it.
  • Two hidden inputs. access_key says which form this is. _lang sets the language of the thank-you page.
  • Labels. Every input sits inside its label, so a click on the text focuses the field and screen readers read the name.
  • Required fields. The required attribute. The browser stops an empty submit before anything is sent.
  • The select. Its first option is empty, so a required list makes people choose instead of sending the first item by accident.
  • The honeypot. A botcheck input moved off-screen and hidden from assistive tech.
  • A style block. A short block of CSS, every rule scoped to the form's own id. It cannot restyle the rest of your page.

It works without JavaScript

The HTML version needs no script on your page. The browser posts the fields. Formgong stores them and answers with a redirect to a thank-you page. It only does that after the submission is saved. A wrong key or a failed check leads to an error page that says what went wrong.

That also means the visitor leaves your page for a moment. If you would rather keep them on it, take the React or Vue tab, or add fetch yourself. Read the JSON answer and show “sent” only when it says success: true. The HTML guide has the hidden fields Formgong understands, such as _redirect for your own thank-you page.

Styling it yourself

Delete the <style> block and the form falls back to your site's CSS. Nothing else depends on it. The field names and the hidden inputs are what make it work, so keep those.

If your site already loads a framework, the class names are one click away. The Tailwind form generator and the Bootstrap form generator open on those tabs with the same kind of form.

The HTML goes anywhere you can paste markup: a static site, GitHub Pages, a WordPress Custom HTML block, a Webflow or Framer embed, or a page an AI builder wrote.

Free limits, email and storage

The HTML is free to copy. Submissions 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 300 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

What is an HTML form generator?

A tool that writes the form element and its fields for you. This one gives plain HTML with labels, required fields and a honeypot, and the action already points to Formgong.

Is there a free HTML form generator?

Yes, this page. Copying the code is free and needs no account. You need a free Formgong key only when you want the submissions delivered.

Does the HTML form need JavaScript?

No. It is a normal POST form. Formgong stores the submission and then shows a thank-you page, or an error page that says what went wrong.

Can I use my own CSS?

Yes. Delete the style block and your site's styles apply. Keep the field names, access_key, _lang and botcheck.

Where do the submissions go?

To your Formgong inbox after you add a real key. On the free plan, Telegram is instant and email is sent for every submission. The free plan is 300 submissions a month.

Sources

Checked on 16.10.2026 against these public pages: MDN: <form>, MDN: <label>, Basin HTML form generator, Formcarry HTML form generator, Formgong HTML guide.

← Formgong