splitforms.com

Free HTML form tool

Free HTML form generator.

Copy clean, semantic contact form HTML you actually own — no login, no rate limit, no watermark, and no framework lock-in.

  • 0 KB JavaScript
  • 8 field types
  • No signup
A free HTML form generator producing clean, copy-ready contact form code

Clean HTML you own

The generator outputs semantic markup — no iframe, no script embed, no vendor badge to style around.

Zero JavaScript

Native HTML5 validation, so the form works even with JavaScript disabled — 0 KB added to your page.

Honeypot spam field built in

Every generated form ships with a hidden anti-bot field, screened automatically when it posts to splitforms.

Quick start

The HTML form code you copy and paste.

This is the markup the generator produces — semantic, honeypot-armed, and ready to POST to any backend. Copy it, swap in your access key, and ship.

Get a free key
contact-form.html
<form action="https://splitforms.com/api/submit" method="POST">
  <input type="hidden" name="access_key" value="YOUR_ACCESS_KEY">

  <!-- Honeypot — bots fill every field, humans don't see this -->
  <input type="checkbox" name="botcheck" style="display:none" tabindex="-1" autocomplete="off">

  <label for="field-name">Your name <span style="color:#ff4f00">*</span></label>
  <input id="field-name" name="name" type="text" placeholder="Jane Builder" required>

  <label for="field-email">Email <span style="color:#ff4f00">*</span></label>
  <input id="field-email" name="email" type="email" placeholder="you@example.com" required>

  <label for="field-message">Message <span style="color:#ff4f00">*</span></label>
  <textarea id="field-message" name="message" placeholder="What's on your mind?" required></textarea>

  <button type="submit">Send message</button>
</form>

How to

How to build an HTML form.

Add the fields you need — text, email, phone, URL, number, date, textarea, dropdown — mark which ones are required, style it with your own CSS, then copy the generated form code. It is standard, semantic HTML with no JavaScript and no framework lock-in, so it renders the same in React, Vue, Astro, WordPress, Webflow, or a plain .html file.

Add your fields

Start from the snippet above and keep the fields you need — text, email, phone, URL, number, date, textarea, or dropdown. Rename each label and name attribute to match your data.

Set required + placeholders

Add the required attribute to the fields that must be filled, and a placeholder to guide input — native HTML5 validation is built in, with zero JavaScript.

Style it your way

Style the form with your own CSS — Tailwind, vanilla CSS, or CSS modules — or ship the bare, semantic HTML exactly as-is.

Copy the code

Paste it into your site and point the action at any backend that accepts a POST.

You own the code

Do you own the HTML this form generator outputs? Yes.

Most "form builders" hand you an iframe or a hosted page you don't control. This generator hands you the actual HTML — you own it, style it, and drop it into Next.js, React, Astro, WordPress, Webflow, or a plain .html file. By default it posts to splitforms.com/api/submit — 500 free submissions a month, no card — but the action can point anywhere.

  • Plain HTML you own and restyle — not a Google-hosted page or a locked iframe embed.
  • 0 KB of added JavaScript — a native form, not a ~250–500 KB Typeform or Jotform embed.
  • Any POST backend — splitforms, Formspree, Netlify Forms, or your own route, zero vendor lock-in.
  • Free, no signup, no watermark — ship as many forms as you want.
You own the semantic HTML this free form generator outputs

Where submissions go

Where do your HTML form submissions go?

The generated form posts to whatever URL you set in its action attribute. By default that's splitforms, which validates the request, runs the spam classifier, and forwards it to your email and a searchable dashboard — or point the action at Formspree, Netlify Forms, or your own route.

  • 500 submissions per month, free forever — no credit card.
  • Hidden honeypot on every form, screened automatically on splitforms.
  • Search, export to CSV, or forward to a signed webhook or Slack on Starter.
A generated HTML form routing its submissions to splitforms or any POST backend

How SplitForms works

From form to workflow in 3 simple steps.

Connect your form, collect every submission, and send data where it needs to go — without building backend infrastructure.

A SplitForms contact form submission launching straight to your inbox

Add your endpoint

Point your form to your unique SplitForms endpoint. That's it.

HTML form pointing at a SplitForms submit endpoint

Receive submissions

We instantly capture and organize every submission in your inbox.

Submissions inbox with searchable leads and status pills

Route anywhere

Send data to email, spreadsheets, CRMs, webhooks, and 7,000+ apps.

Generic integration tiles for email, sheets, chat, CRM, automate, and webhook

No credit card required. Set up in under 60 seconds.

Connect & automate

Connect your favorite tools and automate everything

SplitForms works with the destinations you route to and the platforms you build on — from Slack and Sheets to WordPress, Shopify, and Next.js.

Connect your SplitForms form to Slack, Google Sheets, Mailchimp, Zapier and more

Trusted by indie teams and agencies shipping forms worldwide

PETAL/COKRAFT.DELINEAR-XBUILD.DEVSTUDIO 71MERIDIANFRAME&CO

Testimonials

Loved by developers shipping at every scale.

40 quotes on record — from indie hacks to agency migrations.

Questions

HTML form generator questions.

View all FAQs
Is this HTML form generator really free?

Yes. There's no signup, no usage limit, and no watermark on the output. Use the generated HTML in any project — commercial or personal — and ship as many forms as you want.

Where do the form submissions go?

To whatever URL you set in the form's action attribute. The generated form does a standard HTML POST, so it works with any endpoint that accepts form-encoded data — splitforms, Formspree, Netlify Forms, or your own server route. Change the destination anytime by editing the action attribute.

Does the generated form include spam protection?

Yes — every form includes a hidden honeypot input (the standard anti-bot technique). When the form posts to splitforms, the honeypot is processed automatically. With other backends you'll need to handle the honeypot value yourself.

Can I add custom CSS?

Yes. The generated HTML is unstyled, semantic markup by default. Style it with your own CSS — Tailwind, vanilla CSS, or CSS modules — and it works everywhere, so nothing constrains how the form looks.

What field types does the form generator support?

Text, email, phone (tel), URL, number, date, textarea, and dropdown (select with options). All types are standard HTML — no custom widgets. Works on every modern browser without JavaScript.

Can I host the form on a static site (Next.js, Astro, Webflow)?

Yes. The output is plain HTML — drop it into any framework that renders HTML, including Next.js, React, Vue, Astro, Webflow, Carrd, WordPress, or static HTML files. No build-time integration required.

How is this different from Google Forms or Typeform?

Those tools host the form for you and hand back an embed or a link on their domain, complete with their branding and their limits. This generator gives you the raw HTML instead: plain markup you own and restyle (not a Google-hosted page or a locked iframe), 0 KB of added JavaScript instead of a ~250–500 KB embed, any POST backend instead of vendor lock-in, and no third-party account or watermark to keep alive.

Simple pricing

Start free. Scale when you need more.

Choose a plan that fits your workflow — from a free form endpoint to full automations, exports, and higher submission limits.

Free

$0

Free forever

 
Best for testing

For side projects and indie devs.

  • 500 submissions / mo
  • Unlimited forms
  • Email notifications included
  • Honeypot spam filtering
  • Submissions dashboard
  • MCP setup stays free
  • No credit card required

Pro

$5/ month
was $15 · save 67% · new-user price

For agencies and growing products.

  • 5,000 submissions / mo
  • Unlimited forms
  • Everything in Starter
  • Priority support (under 4hr)
  • 5× Starter submission volume
  • Cancel anytime

3-Year

$59/ 36 months
was $99 · save 40% · new-user price

Pay $59. 3 years sorted.

  • 15,000 submissions / mo
  • Unlimited forms
  • Everything in Pro
  • Renews every 3 years
  • Long-term discount
  • Priority support included
  • Vote on the roadmap

No credit card required on Free • Cancel anytime