Get your free access key
Sign up at splitforms.com/login. Your access key is generated instantly — free plan includes 500 submissions/month, unlimited forms, no credit card.
Contact form · No JavaScript
Plain HTML posts to one endpoint and the browser submits it natively — stored, spam-filtered, and emailed to you, even with JavaScript disabled.

Native HTML form submission runs in any browser — even with JavaScript disabled, blocked by an extension, or in a hardened browser like Tor.
No script to download, parse, or execute before the form works. It's plain markup with nothing to maintain and no build step to break.
A hidden honeypot plus server-side heuristics and rate limiting screen bots with zero JavaScript. No CAPTCHA required.
Copy-paste ready
Use a plain HTML form with method="POST" and an action pointing at splitforms, add a hidden access_key, and the browser submits it natively — no script tag, no fetch, no framework.
<form action="https://splitforms.com/api/submit" method="POST">
<input type="hidden" name="access_key" value="YOUR_KEY">
<input type="hidden" name="redirect" value="https://yoursite.com/thanks">
<label>Name</label>
<input type="text" name="name" required>
<label>Email</label>
<input type="email" name="email" required>
<label>Message</label>
<textarea name="message" required></textarea>
<!-- Spam protection (no CAPTCHA, no JS) -->
<input type="checkbox" name="botcheck" style="display:none" tabindex="-1" autocomplete="off">
<button type="submit">Send</button>
</form>Setup
Six steps, no build tooling — paste the markup, keep the honeypot, and confirm it still reaches you with JavaScript disabled.
Sign up at splitforms.com/login. Your access key is generated instantly — free plan includes 500 submissions/month, unlimited forms, no credit card.
Copy the form below into any HTML page. No <script> tag, no build step, no JS framework needed — it's plain markup.
The hidden botcheck input filters bots without any JavaScript running in the visitor's browser. Leave it exactly as shown, and never fill it in yourself while testing.
Set the hidden redirect field to your thank-you page URL so visitors land somewhere useful after the native POST completes.
Disable JavaScript in your browser's dev tools and submit the form for real. If it still reaches your dashboard, you've confirmed it's truly JS-free.
The submission appears in your splitforms dashboard within seconds, and a free email notification lands in your inbox — email alerts are included on every plan, including Free.
What still works
A plain HTML form with method="POST" submits natively, so the browser does a normal full-page POST and redirect. You lose client-side validation and AJAX submission — but every submission is still emailed to you and stored, exactly the same.

Spam protection
The honeypot field (botcheck) is a plain hidden input — bots fill it in, humans never see it, and it runs with zero JavaScript. That's layered with server-side content heuristics and rate limiting on splitforms's servers, not in the browser.

Static hosting
Because the form is just markup posting to an external endpoint, it drops into any static site with zero server-side code — no functions, no database, no backend to build or maintain.

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
Yes. A standard HTML form with method="POST" and an action pointing at a hosted form backend like https://splitforms.com/api/submit works without any JavaScript. The browser handles submission natively — no <script> tag, no fetch, no framework.
Yes. The form uses native HTML form submission, so it works even when JavaScript is completely disabled in the browser, blocked by an extension, or unavailable in a stripped-down browser like some in-app webviews.
You lose client-side validation and AJAX submission (no page reload), but the core form submission, email notification, spam filtering, and dashboard storage all work identically. The page just does a normal full-page POST and redirect.
Yes. The honeypot field (botcheck) needs zero JavaScript, and it's backed by server-side content heuristics and rate limiting that run on splitforms's servers, not in the browser. Only optional reCAPTCHA v2 needs a script — skip it to stay fully JS-free.
Yes. Add a hidden redirect field with the destination URL. After a successful POST, the server sends the browser there — no client-side redirect code needed.
Yes. Since the form is just HTML posting to an external endpoint, it works on any static host with no server-side code at all — GitHub Pages, Netlify, Vercel, Cloudflare Pages, or a single index.html on any web server.
Yes. Add a hidden subject field with the text you want as the notification email's subject line. It's a plain form field, no script required.
Yes. The native HTML <input type="file"> element works with zero JavaScript. With the Storage integration (paid plans), splitforms accepts up to 5 files per submission at 5 MB each.
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