splitforms.com
← Back to the journal

Framer Form Not Working? 8 Fixes for Missing Submissions

Framer form not sending email or submissions missing? 8 fixes cover republishing, plan limits, spam, required fields and an external form backend.

Start free — 500 submissionsSee pricing →No card, no time limit. Pro is $5 per month.
Short answer
A Framer form that "does nothing" usually fails for one of eight reasons: the send-to email or webhook was never set, the site was not republished after editing the form, you tested in the canvas preview instead of the published site, the notification email went to spam, a required field or input name is broken, the plan's submission limit was reached, a custom code embed posts to the wrong action URL, or the form needs an external backend. Start with the checklist, then work through the eight fixes in order.
Try it on your own form

Point any HTML form at one endpoint. 500 free submissions — no card, no time limit — and unlimited forms.

Create free account

Why Framer forms break

A Framer form has three separate legs: the Form component itself, the destination you configure for it (a send-to email address and/or a webhook), and the published site that visitors actually reach. Each leg can fail on its own while the other two look fine. The form can render perfectly in the canvas while submissions never leave the editor, the destination can be unset so entries have nowhere to go, and edits you make to the form do not reach visitors until you republish the site.

The fastest way to split the problem in two: submit a test form on the published URL, then check whether the entry arrived at the destination you configured in the Form component's settings. If it arrived, the form works and only the email leg is broken (fix 4). If it did not, the submission never left the page, and the fixes below are ordered to find out why.

Quick checklist

  1. You tested on the published URL, not the canvas preview.
  2. The send-to email address (and webhook, if used) is set in the Form component's settings.
  3. You republished the site after the last edit to the form.
  4. The destination inbox's spam/junk folder is empty of your test entry.
  5. Every required field is visible and has a unique name.
  6. You have not hit your Framer plan's submission allowance.
  7. If the form is a custom code embed, its action URL is correct and the method is POST.
  8. The browser console shows no errors when you submit.

Eight fixes, in order

1. Set the send-to email or webhook in the Form component settings

Select the Form component on the page and open its settings panel. The destination — the email address that receives submissions, and a webhook URL if you use one — is configured there, not on the page and not in a global site setting. If the field is empty, every submission the form receives has nowhere to go: the form validates, the button shows its success state, and the entry is silently dropped. Set the address of an inbox you actually read, save, and republish (fix 2), then submit a test from the live URL.

If you configured a webhook, confirm the endpoint is live and accepts POST requests. A webhook that 404s or rejects the request drops the submission the same way an empty email field does. A quick way to prove the endpoint is healthy is to send it a test request from the form action tester before you trust it with real traffic.

2. Republish the site after editing the form

Edits made in the editor — a new send-to address, a changed field, a moved component — do not reach visitors until you publish again. The published site keeps serving the last published version, so a form whose settings you just fixed will keep behaving like the old one until you republish. This is the most common "I fixed it and it still doesn't work" case in Framer: the fix is real, it just never shipped.

After publishing, retest on the live URL, not in the editor. If the form works immediately after publishing, this was the whole problem. If it still fails, the destination, the plan limit, or the form's fields are the next suspects.

3. Test on the published site, not the canvas preview

Framer form submissions only work on the published site. In the canvas preview the form renders and even validates, but submissions made there do not reach your send-to address or webhook. A form that "works" in the editor and fails on the live site — or a test that never arrives because it was made in the preview — is the preview-versus-publish boundary doing exactly what it is designed to do. The full diagnosis, including how to tell the two apart, is in form works in preview but not live.

Make it a habit: every form test happens on the published URL, in a normal browser window, with the destination inbox open. That single habit eliminates the most common false alarm in Framer form debugging.

4. Check the spam folder and the destination inbox

If the submission arrived at Framer but no email reached you, the form is fine and the email leg is broken. Check the destination inbox's spam/junk folder first — notification emails from form platforms are a regular spam-filter target, especially on brand-new domains. Also confirm the destination address is an inbox you actually read; an old address, a departed teammate's mailbox, or a shared inbox nobody monitors looks identical to a broken form from the outside.

If the email is consistently landing in spam, the fix is on the deliverability side: sender authentication, a clean sending domain, and warm-up. The why contact form emails go to spam guide covers the authentication setup that gets notification mail into the primary inbox. If email delivery stays unreliable on your setup, fix 8 below removes email from the critical path entirely by storing every accepted submission in a dashboard first.

5. Fix missing, hidden or duplicated required fields and input names

The browser will refuse to submit a form whose required field is missing, empty, or invisible — and Framer's canvas makes it easy to create exactly that state. A required field tucked inside a hidden section, a tab that is not selected, or a component that only appears on interaction will block the submit with no visible error: the button is pressed, nothing happens. Make hidden required fields optional, or reveal them before the form can be submitted.

Field names matter just as much. If two inputs carry the same name, the second value overwrites the first in the submission; if a required field has no name at all, its value never reaches the destination. Audit the form's fields, give every input a unique, descriptive name (name, email, message), and remove the required flag from anything a visitor cannot see and fill in. The same failure mode, explained in depth, is covered in required attribute not working.

6. Check your Framer plan's submission limit

Framer's built-in form handling is tied to your plan, and plans carry a submission allowance. When the allowance is used up, new submissions stop being delivered while the form keeps looking normal — the visitor sees the success state, no warning appears anywhere, and entries simply stop arriving. Spam submissions count against the same allowance, so a bot flood can use it up well before your month is over.

The exact allowance depends on which Framer plan you are on and changes over time, so check the current figures on your Framer plan page rather than relying on a number from a blog post. If you are at or near the cap, the durable fix is fix 8: point the form at an external backend so Framer's counter leaves the submission path entirely.

7. For custom code embed forms, check the action URL and method

If your form is not a native Framer Form component but an HTML form pasted in through a code embed, Framer's settings panel is not in the picture at all — the browser posts the form wherever its action attribute points. A typo in that URL, an old endpoint that no longer exists, or a staging address left over from a previous project will drop every submission with no error on the page. Open the embed's code, read the action value, and confirm it is the endpoint you expect, over HTTPS.

The method matters just as much. Endpoints expect POST; a form set to GET sends its fields as URL query parameters, which most backends reject. Use the form action tester to send a test request to the action URL and see exactly what the endpoint responds with — a 404, a 405, or a 200 tells you immediately whether the URL, the method, or something else is at fault. The 405 Method Not Allowed guide covers the GET-versus-POST case in detail.

8. Use a form backend: embed an HTML form that posts to splitforms

If the form keeps breaking at Framer's plan limits, email reliability, or spam filtering, take Framer out of the submission path while keeping the design exactly as built. Drop Framer's Embed component into your page and paste a plain HTML form that posts directly to splitforms:

<form action="https://splitforms.com/api/submit" method="POST">
  <input type="hidden" name="access_key" value="YOUR_ACCESS_KEY" />
  <input type="text" name="name" placeholder="Name" />
  <input type="email" name="email" placeholder="Email" />
  <textarea name="message" placeholder="Message"></textarea>
  <button type="submit">Send</button>
</form>

Replace YOUR_ACCESS_KEY with the key from your splitforms dashboard. The form posts directly to https://splitforms.com/api/submit — no JavaScript, no client library, no dependency on Framer's plan. Accepted submissions are stored in a searchable dashboard before the notification email is attempted, spam is filtered with a honeypot plus rule-based scoring, and notification email is included on every plan — free for 500 submissions total, then $5/month for 5,000 a month. The full walkthrough, including styling the embed to match your Framer page, is in how to add a contact form to Framer.

Other form problems and fixes

Still stuck? Test your endpoint with our free Form Action Tester or contact splitforms support.

FAQ

Why is my Framer form not sending email?

The most common causes, in order: the send-to email address was never set in the Form component's settings, the site was not republished after you edited the form, or the notification email landed in the spam folder. Open the Form component, confirm the destination address, republish the site, submit a test on the live URL, and check the spam folder of the destination inbox before assuming the form itself is broken.

Does a Framer form work in the canvas preview?

No. Framer form submissions only work on the published site. The canvas preview renders the form for design purposes, but submissions made there do not reach your send-to address or webhook. If a test submission works in the editor and fails on the live site — or the reverse — that is the preview-versus-publish boundary, not a form bug. See the guide to forms that work in preview but not live for the full diagnosis.

Where do Framer form submissions go?

To whatever destination you set in the Form component's settings: a send-to email address and/or a webhook URL. If no destination is configured, submissions have nowhere to go, which is why a form can look fully functional while silently dropping every entry. Check the settings panel on the selected Form component, and if you use a webhook, verify the endpoint accepts POST requests from your domain.

Can I use splitforms as the backend for a Framer form?

Yes. Drop Framer's Embed component into your page and paste a plain HTML form that posts to https://splitforms.com/api/submit with a hidden field carrying your access key. Submissions are stored in a searchable dashboard, filtered for spam, and emailed to you — with no dependency on Framer's plan limits. The step-by-step walkthrough is in the guide to adding a contact form to Framer.

Stop fighting plan caps and silent failures — embed a form that posts to https://splitforms.com/api/submit and every submission is stored, filtered, and emailed. Get a free access key.

Related articles

More practical guidance from guides.

Browse the journal →
Guides

WPForms Not Sending Email? 6 Fixes That Work (2026)

WPForms notifications not arriving? Find the wp_mail cause in 2 minutes, then fix it with si…

7 min readRead →
Guides

Ninja Forms Not Sending Email? 8 Fixes for WordPress

Ninja Forms notifications not arriving? Learn why wp_mail fails, how to check email actions…

7 min readRead →
Guides

Netlify Form Not Working? 7 Fixes for Missing Submissions

Netlify form not showing submissions or returning 404? Check the 7 causes, from missing data…

7 min readRead →

Explore this topic

Start with the overview, then move into focused guides.

OverviewWhat Is a Form Backend? (Complete Guide)Start here →GuideSelf-Hosted vs SaaS Form BackendRead →GuideForm Backend vs Form BuilderRead →GuideWhere Do Form Submissions Go?Read →ReferenceForm backend guideOpen →

Building forms with ChatGPT, Claude, Cursor, or v0? Connect the native MCP server and give your agent a production form backend.

Explore the MCP server →

Give your form a production backend.

One endpoint adds delivery, spam filtering, storage, and integrations. Start with 500 free submissions — no card, no time limit.

Create free accountRead the docs →
Secure checkoutSSL encryptionPrivacyProtected
VISAAMERICANEXPRESSstripe