splitforms.com

Contact form · Webflow

Contact form for Webflow websites

Webflow's built-in forms cap free submissions and gate webhooks behind paid plans. Point your existing Form Block at the splitforms endpoint instead — same drag-and-drop designer, real backend, 500 submissions/month free, and signed webhooks from Pro.

  • 500 free / mo
  • 14ms latency
  • No backend code
Webflow contact form — copy-paste code for splitforms

No backend code

No server, API route, or SDK. Your Webflow form posts straight to one endpoint.

Straight to your inbox

Every submission is emailed to you and saved to a searchable dashboard — spam filtered before it reaches you.

Design without limits

It's your own Webflow markup and styles. Splitforms is only the backend, so nothing constrains how the form looks.

Copy-paste ready

Your Webflow contact form, ready to paste.

Replace YOUR_ACCESS_KEY with the key from your dashboard — that's the whole integration. No SDK to install, no build step, just the html you already write.

Generate access key
contact.html
<!--
  Webflow setup:
  1. Add a Form Block to your page
  2. Open the form's settings panel
  3. Set Action to:    https://splitforms.com/api/submit
  4. Set Method to:    POST
  5. Add a hidden field named "access_key" with your key as the value
  6. Configure any thank-you redirect in the splitforms dashboard
-->

<form
  action="https://splitforms.com/api/submit"
  method="POST"
>
  <!-- These are added in the Webflow form-settings panel: -->
  <!--   access_key (hidden) = YOUR_ACCESS_KEY            -->

  <input name="name"  type="text"  required />
  <input name="email" type="email" required />
  <textarea name="message" required></textarea>

  <input type="checkbox" name="botcheck" style="display:none" tabindex="-1" />

  <input type="submit" value="Send" />
</form>

How to add it

How to add a contact form to a Webflow website.

To add a contact form to a Webflow website you need three things: a free splitforms access key, the html snippet above, and your key pasted into it. No backend, server, or SDK — the form posts to one URL and every submission lands in your inbox and dashboard.

Get your free splitforms access key

Sign up at splitforms.com, verify your email, and copy your access key from the dashboard. No credit card required.

Drop the Webflow snippet into your project

Copy the Webflow code example into your project and replace YOUR_ACCESS_KEY with the key from step 1.

Receive submissions in your dashboard

Submissions arrive in the splitforms dashboard within seconds. Free includes inbox delivery; Pro adds Slack, Discord, Sheets, or any signed webhook URL.

Where submissions go

Where do your Webflow form submissions go?

Every submission is emailed to you and saved to a searchable dashboard — spam filtered before it ever reaches you. Search, export to CSV, or forward it to a webhook or Slack on Pro.

  • 500 submissions per month, free forever
  • Honeypot + AI spam classifier on every plan
  • Signed webhooks to Slack, Discord, your server
Webflow contact form submissions in the splitforms dashboard

No backend needed

Do you need a backend for a Webflow form? No.

Your Webflow form posts standard FormData to one URL. Splitforms validates the access key, runs the spam classifier, and forwards it to your email — so there's no server, API route, or database for you to build or maintain.

  • Works with Webflow&apos;s native Form Block — no custom HTML embed required
  • Skips Webflow&apos;s 50/100-submission cap on starter plans
  • Custom redirect to any thank-you page on your site
How splitforms processes a Webflow form submission

Best practices

What a production-ready Webflow form needs.

The difference between a form that works in the demo and one that survives launch traffic — the production-tested defaults, in priority order.

  • Use the native Form Block in Designer, not an embed. Embeds work but break Designer's preview rendering and lose drag-and-drop styling.
  • Set the redirect URL in Dashboard → Form settings to a Webflow page such as https://yoursite.com/thanks. Build the page in Designer so it uses your normal layout, header, and footer.
  • Lock the access key to your published .webflow.io subdomain AND your custom domain in the splitforms dashboard. Webflow staging URLs are different from your live URL.
Production-ready Webflow contact form best practices

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

Webflow contact form questions.

View all FAQs
How do I add a contact form to Webflow that doesn't count against my plan limit?

Open your Form Block in Designer, change the Action URL to https://splitforms.com/api/submit, set Method to POST, add a hidden field named access_key with your splitforms key. Submissions now go to splitforms (not Webflow), so they don't count against your Webflow plan limit.

Does splitforms work with Webflow CMS Collection forms?

Yes. Use the same pattern — change the form's action URL and method. Splitforms doesn't care whether the form is on a static page or a CMS template; it processes the POST identically.

How do I handle form errors in Webflow?

Webflow's .w-form-fail div automatically shows on a non-2xx response. Splitforms returns 4xx for spam/invalid keys with { message: "…" } — Webflow's default error styling will show it. Customize the .w-form-fail content in Designer.

Can I use splitforms with Webflow Logic / Make.com workflows?

Yes — splitforms forwards every submission to a webhook URL (configure in dashboard → Webhooks). Point that at Make.com, Zapier, n8n, or your own endpoint. Payloads are HMAC-signed.

How do I customize the success / redirect behavior?

Two options. (1) Use Webflow's built-in success state. (2) Set an absolute thank-you URL in Dashboard → Form settings → Redirect so splitforms sends the browser there after a native submit. Pick one, not both; submitted redirect fields are ignored.

What if the form is on a Webflow Editor-only page?

Editor-only pages have a slightly different DOM, but the form action override still works. Test in the published view — Editor preview won't actually submit.

Webflow strips custom hidden inputs from native Form Blocks

If you add <input type="hidden" name="access_key"> directly in Designer's Form Block, Webflow ignores it on publish. Use the Form Block's settings panel: Form Settings → Form Name + add custom attribute. Or use an Embed element with raw HTML if you need full control.

Default action URL gets reset on every Designer save

Setting the Action URL to https://splitforms.com/api/submit in the Form Block sometimes reverts to Webflow's default after a publish. The fix: lock it in by adding a custom attribute action to the form element (Settings → Element Settings → Custom Attribute).

Method must be set to POST in the form's settings, not the URL

Webflow forms default to GET. Open the form's Settings panel, change Method to POST. If you forget, the submission posts your fields as URL query params — splitforms returns a 405 Method Not Allowed.

Webflow's success/error elements still trigger on AJAX submit

Webflow auto-shows the .w-form-done div on a 2xx response. If you also configure a redirect in the splitforms dashboard, the success message may flash before navigation. Use either Webflow's success state or the dashboard redirect.

CAPTCHA conflict when Webflow's hCaptcha is enabled

If you've enabled Webflow's built-in hCaptcha for the form, Webflow blocks the submission client-side before splitforms is reached. Disable Webflow's CAPTCHA — splitforms has its own honeypot + classifier, no need for both.

Webflow auto-injects an XMLHttpRequest interceptor that strips your access_key

Webflow's runtime (webflow.js) attaches a global submit listener that serializes form fields and POSTs them via XHR — and any field name it doesn't recognize from the Designer schema is dropped before the request leaves the browser. The access_key hidden input you added in an Embed often gets filtered. Workaround: instead of a hidden <input>, append the key to the form action URL as a query param (?access_key=…) or add wf-form to a class allowlist in the form's settings to let Webflow pass through unknown fields verbatim.

How does Webflow handle forms without splitforms?

Webflow's built-in Forms feature delivers submissions to your Webflow project dashboard and emails them — but the free Site plan caps submissions (50 per site, lifetime, on legacy plans) and webhooks are gated behind the Workspace plan ($24/mo+). Worse, the form fails silently if you exceed the cap: users see the 'success' state, your inbox gets nothing. There's no API to inspect submissions programmatically below the Workspace tier, and CMS-driven forms inherit the same caps. Native is fine for a personal portfolio with three submissions a year; for any real lead capture, you need an external endpoint. Splitforms is that endpoint without the plan upgrade.

Any deployment notes for shipping Webflow to production?

Webflow hosts your published site on its own CDN — there's no Vercel/Netlify config to worry about. The form posts cross-origin to splitforms regardless. Disable Webflow's built-in hCaptcha for the form (Form Settings → Spam Filter → Off) — it intercepts submissions client-side before splitforms is reached. Lock the splitforms access key to BOTH your *.webflow.io staging URL and your custom domain in the dashboard; Webflow serves both, with different Origin headers. Custom code embeds count toward Webflow's per-page code limit (10 KB) — keep raw-HTML Embed forms tight if you have multiple per page.

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

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