Get your free access key
Sign up at splitforms.com/login with your email. Your free form API key is generated instantly — no credit card required. Free includes 500 submissions per month.
HTML contact form
Paste a working HTML contact form into any page and every submission is spam-filtered, stored, and emailed to you — no PHP, backend, or JavaScript of your own.

No PHP, Node, or server route of your own — the splitforms endpoint is the backend for your HTML contact form.
A honeypot, time-trap, and rate limits screen bots out of every HTML form submission before your inbox.
Every contact form submission is stored in a searchable dashboard and emailed to you within seconds.
Copy-paste HTML
Paste this HTML contact form into any page, point the action at the endpoint, and replace YOUR_ACCESS_KEY with the key from your dashboard. That's the whole integration — no server, no build step. Need more variations (dark mode, multi-column, file upload)? See the HTML contact form template collection.
<form action="https://splitforms.com/api/submit" method="POST">
<!-- Required: your free access key -->
<input type="hidden" name="access_key" value="YOUR_ACCESS_KEY">
<!-- Optional: redirect after submit -->
<input type="hidden" name="redirect" value="https://yoursite.com/thank-you">
<!-- Name field -->
<label for="name">Name</label>
<input type="text" id="name" name="name" placeholder="Your name" required>
<!-- Email field -->
<label for="email">Email</label>
<input type="email" id="email" name="email" placeholder="you@example.com" required>
<!-- Message field -->
<label for="message">Message</label>
<textarea id="message" name="message" rows="5" placeholder="Your message" required></textarea>
<!-- Honeypot spam protection (bots fill this, humans don't see it) -->
<input type="checkbox" name="botcheck" class="hidden" tabindex="-1" autocomplete="off">
<!-- Submit button -->
<button type="submit">Send Message</button>
</form>Setup
Three steps, about a minute. Sign up for a free access key, paste the form, and watch submissions land in your dashboard within seconds.
Sign up at splitforms.com/login with your email. Your free form API key is generated instantly — no credit card required. Free includes 500 submissions per month.
Copy the HTML contact form code below and paste it into any page on your website. Replace YOUR_ACCESS_KEY with the key from your dashboard.
Fill out the form and submit. The submission appears in your splitforms dashboard within seconds, and you'll receive an email notification.
What happens
The moment a visitor hits Send, the browser's native POST hands the data to splitforms. From there it's received, filtered, stored, emailed, and — on paid plans — routed onward to your connected integrations, all without a server of your own.

Spam protection
The pasted form already ships with a botcheck honeypot, and splitforms adds a time-trap, content heuristics, and rate limiting on every request. It all runs server-side, so you can keep the page entirely JavaScript-free — a working reCAPTCHA alternative with nothing for visitors to solve.

Customize
Every field name becomes a column in your dashboard, so adding fields is just adding inputs. Prefer a styled starting point? See the Tailwind CSS forms guide for a dark-mode-ready template with validation states.

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

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

We instantly capture and organize every submission in your inbox.

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

No credit card required. Set up in under 60 seconds.
Connect & automate
SplitForms works with the destinations you route to and the platforms you build on — from Slack and Sheets to WordPress, Shopify, and Next.js.

Trusted by indie teams and agencies shipping forms worldwide
Testimonials
40 quotes on record — from indie hacks to agency migrations.
“I replaced a Lambda + DynamoDB + SES contact form with six lines of HTML. It took eleven minutes, and the dashboard is better than what I was going to build.”
“We migrated 14 client sites off Formspree in a single weekend. The price is a third of what we paid, the API is more honest, and the spam filter actually works.”
“The webhook payload is signed, idempotent, and well-shaped. It reads like code from a competent team, not a CRUD app held together with duct tape.”
“I stopped reaching for Typeform on small marketing sites. splitforms covers 90% of the use case at none of the bloat.”
“I onboarded our whole agency in an afternoon. The MCP integration meant Cursor literally dropped the form straight into our client repos for us.”
“The free plan gave me 500 submissions before I paid a cent, and Pro is five dollars a month. I've spent more on coffee deciding which backend to use.”
“Spam went from forty junk entries a day to zero, with no reCAPTCHA puzzle ruining the form. The honeypot and time-trap just quietly do their job.”
“Point the form action at one endpoint and you're done. No SDK, no client library, no build step. This is how a form backend should feel.”
“Leads land in Slack the second someone submits, and a copy goes to Google Sheets for the sales team. I wired both up in under ten minutes.”
“I run a static Hugo site on a five-dollar VPS. splitforms gave it a real contact form without me standing up a single server.”
Questions
Create a <form> element, set the action attribute to a form backend endpoint like https://splitforms.com/api/submit, add a hidden input with your access key, then add your input fields (name, email, message) and a submit button. The form backend handles storage, email notifications, and spam filtering — no server-side code required.
Yes. Point your form's action attribute at a hosted form backend like splitforms. The backend receives the POST request, stores the submission, sends you an email, and handles spam filtering. You don't need PHP, Node.js, Python, or any server-side code of your own.
Yes. The form is a standard HTML form POST. It works on any static site host including GitHub Pages, Netlify, Vercel, Cloudflare Pages, Amazon S3, and any web server that can serve HTML files.
No. The form uses native HTML form submission. JavaScript is optional — you can add it for custom validation or AJAX submission, but the form works perfectly without any JavaScript at all.
The form above already includes a botcheck honeypot field — a hidden input bots fill in but humans never see. splitforms also runs a form_loaded_at time-trap (rejects submissions sent in under a couple of seconds), server-side content heuristics, and rate limiting (6 submissions/minute per IP) on every request automatically. You can add reCAPTCHA v2 with your own site key for an extra layer, but it isn't required.
Yes. splitforms's Free plan covers unlimited forms, 500 submissions/month, email notifications, and spam filtering with no credit card required. Pro is $5/mo for 5,000 submissions plus CSV/XML/PDF exports, webhooks, and an auto-responder; Pro is $5/mo for 5,000 submissions plus CC/BCC and priority support.
Yes — add <input type="file" name="attachment">. File storage requires a paid plan's Storage integration and supports up to 5 files per submission, 5 MB each.
Email notifications to the form owner are included free on every plan, including Free. You'll get an email with the submission details as soon as someone submits, no setup required beyond your access key.
Simple pricing
Choose a plan that fits your workflow — from a free form endpoint to full automations, exports, and higher submission limits.
Free forever
For side projects and indie devs.
For agencies and growing products.
Pay $59. 3 years sorted.
No credit card required on Free • Cancel anytime