Get a free access key
Sign in to splitforms and create a form to get an access_key. The Free plan covers 500 signups a month with no credit card and unlimited forms.
Newsletter signup form
A single email field that posts to a hosted backend — no server code. Every subscriber is stored, emailed to you, and synced to your ESP.

No PHP, SMTP, or server route — the endpoint is the backend. Your newsletter form posts straight to one URL.
A honeypot and form_loaded_at time-trap block bot signups before they're stored — no CAPTCHA needed.
Every signup is emailed to you and, on Pro, forwarded by signed webhook to Mailchimp, ConvertKit, Brevo, or any ESP.
Copy-paste ready
Drop this into your footer, a popup, or an inline block, and swap in your access key. It posts directly to splitforms — no server, no PHP, no API route to write.
<form action="https://splitforms.com/api/submit" method="POST">
<input type="hidden" name="access_key" value="YOUR_ACCESS_KEY">
<input type="hidden" name="subject" value="New newsletter signup">
<input type="hidden" name="form_loaded_at" id="form_loaded_at">
<input type="email" name="email" placeholder="[email protected]" required>
<input type="text" name="first_name" placeholder="First name (optional)">
<!-- Honeypot — leave empty, bots fill every field -->
<input type="checkbox" name="botcheck" style="display:none" tabindex="-1" autocomplete="off">
<button type="submit">Subscribe →</button>
</form>
<script>
document.getElementById('form_loaded_at').value = Date.now();
</script>Setup
No server, no SMTP setup. These are the same six steps whether you paste the form into a footer, a popup, or a WordPress custom-HTML block.
Sign in to splitforms and create a form to get an access_key. The Free plan covers 500 signups a month with no credit card and unlimited forms.
Paste the form code below into your footer, a popup, or an inline block, and swap in your access_key. Email is the only required field — first name is optional.
Keep the hidden botcheck honeypot empty and the form_loaded_at time-trap set to the page-load timestamp — both are checked server-side before a signup is stored.
Submit a test signup from the live page and confirm it lands in your dashboard and inbox — owner email notifications are included free on every plan.
On paid plans, forward each signup through a signed webhook to your own Mailchimp relay or to Zapier, Make, n8n, ConvertKit, Brevo, ActiveCampaign, or another ESP endpoint.
Add a hidden redirect field pointing at a thank-you page, or leave it out — the signup is already stored and routed either way.
Newsletter backend
A newsletter signup form is a single email field that posts straight to a hosted backend instead of your own server code. splitforms receives each signup at POST /api/submit, screens it for spam, stores it in your dashboard, and emails you instantly — and on paid plans forwards it by signed webhook to Mailchimp or another ESP. Building this in React or Next.js? The same endpoint accepts a JSON fetch() POST — see the API docs. On a WordPress blog? Use the WordPress form guide or the splitforms plugin instead of pasting raw HTML.

Form fields
Keep the required list short — every extra required field costs signups. A minimal, high-converting newsletter form asks for just an email, with everything else optional.

ESP sync
paid plans can send each signup through a signed webhook. For Mailchimp, point it at your own small API relay or use Zapier or Make; the Mailchimp setup guide covers both paths. ConvertKit, Brevo, ActiveCampaign, and any other ESP that accepts webhook data can receive the same JSON payload — see the ConvertKit, Brevo, and ActiveCampaign guides, or the general webhooks page. Every signup is also available over the REST API (GET /api/submissions with a bearer token), or hand the token to an AI agent through the free MCP server.

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. And with Stripe connected, your forms can take payments too.

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
Add an email input with a submit button, point the form's action at https://splitforms.com/api/submit, and add your access_key as a hidden field. Each signup is stored in your dashboard and emailed to you automatically — that's included free on every plan.
Yes, on paid plans. Send a signed webhook to your own Mailchimp API relay, or use Zapier, Make, n8n, or another ESP endpoint. The dashboard's Mailchimp connection receives Mailchimp events; it does not add splitforms signups to an audience automatically.
Yes. The form posts from plain HTML, so it works on any platform — Ghost, WordPress, Webflow, Shopify, Astro, Hugo, or a static site. WordPress sites can also use the splitforms plugin instead of pasting raw HTML.
Yes. Free covers 500 signups a month with unlimited forms, spam filtering, and email notifications included. Pro is $5/month for 5,000 submissions with exports, webhooks, integrations, and an auto-responder; Pro is $5/month for 5,000 with CC/BCC and priority support; the 3-Year plan is $59 for the first 3 years, then $59/year, for 15,000/month.
Every submission passes through the hidden botcheck honeypot and the form_loaded_at time-trap, plus server-side content heuristics and rate limiting (6 submissions/minute per IP, 20 per 15 minutes — anything past that gets an HTTP 429). Add per-form allowed domains, strict origin mode, or your own reCAPTCHA v2 key for extra coverage.
splitforms doesn't send a confirmation or double opt-in email itself — it stores the signup, emails you, and can forward it to your ESP (Mailchimp, ConvertKit, and others), which then runs the double opt-in and welcome sequence. On paid plans you can switch on splitforms' own auto-responder for an immediate reply — a single automatic email, not a double opt-in flow. For GDPR or CASL, add a consent checkbox to the form so each subscriber's opt-in is recorded alongside their email.
Yes. Add a hidden redirect field with a URL to send subscribers to a thank-you page, and a hidden subject field to control the notification email's subject line — both work with no extra setup.
Yes. The splitforms dashboard gives you per-platform embed code — plain HTML, a React component, an iframe, or a WordPress shortcode — so you can drop the same form into a popup, a footer widget, or inline in a post without hand-coding the embed.
Simple pricing
Choose a plan that fits your workflow — from a free form endpoint to full automations, exports, Stripe payments, and higher submission limits.
For side projects and indie devs.
For agencies and growing products.
Pay $59. 3 years sorted.
No credit card required on Free • Cancel anytime