Skip to content
FormSubmit
New: free visual form generator — no login required

Form submissions from any website, no backend

FormSubmit is the form backend for HTML, WordPress, React and AI-built sites. Point your form at one URL and every form submission goes to your email, with spam blocked, files stored and data forwarded to webhooks, Slack, Discord and Google Sheets. No server code. No SMTP. No plugins.

  • Free plan, no card
  • Works with plain HTML
  • Every integration on every plan
contact.html
<form action="https://formsubmit.app/f/k3m9p2qabx" method="POST">
  <input type="text" name="name" placeholder="Your name" required>
  <input type="email" name="email" placeholder="you@example.com" required>
  <textarea name="message" required></textarea>

  <!-- Honeypot: bots fill it, people never see it -->
  <input type="text" name="_gotcha" style="display:none">

  <button type="submit">Send</button>
</form>

Works with every stack — if it can render a form, it works

  • HTML
  • WordPress
  • React
  • Next.js
  • Vue
  • Nuxt
  • Svelte
  • Astro
  • Hugo
  • Jekyll
  • Eleventy
  • Gatsby
  • Webflow
  • Framer
  • Lovable
  • v0
  • Bolt
  • GitHub Pages

Why FormSubmit exists

A contact form shouldn't need a server.

FormSubmit is a headless form backend: you keep full control of your form's HTML and design, and we run the boring, fiddly infrastructure behind it.

Read our story

Most websites don't have a backend anymore

Static sites, JAMstack frameworks, site builders and AI-generated apps ship beautiful frontends with nowhere to send a form. Spinning up a server, database and SMTP account for a contact form is overkill.

Forms are deceptively hard to run well

Deliverability, spam bots, file storage, retries when an integration is down, GDPR-friendly retention — each is a small project. FormSubmit does all of it behind one URL.

Your data should stay yours

We hash IP addresses, encrypt your integration secrets, keep uploads private, request the narrowest Google permission possible, and let you delete or never store submissions.

Pricing you can predict

Four simple plans, every integration included on all of them, and no data loss when you hit a limit. If you outgrow a plan, submissions wait safely until you decide.

How it works

Live in three steps

From zero to receiving submissions in about a minute.

  1. 01

    Create a form

    Sign up with Google or email and create a form. You get a unique endpoint like formsubmit.app/f/k3m9p2qabx.

  2. 02

    Point your form at it

    Set action to your endpoint and method to POST — or copy code for your framework from the builder.

  3. 03

    Receive submissions

    Get emails, see everything in your inbox, and forward data to Slack, Sheets, webhooks and more.

Plain HTML — zero JavaScript

Visitors are redirected to your thank-you page (or our hosted one) after submitting. Want it ready-made? Copy a working email form or contact form.

index.html
<form action="https://formsubmit.app/f/k3m9p2qabx" method="POST">
  <input type="text" name="name" placeholder="Your name" required>
  <input type="email" name="email" placeholder="you@example.com" required>
  <textarea name="message" required></textarea>

  <!-- Honeypot: bots fill it, people never see it -->
  <input type="text" name="_gotcha" style="display:none">

  <button type="submit">Send</button>
</form>

Or AJAX with JSON responses

Send Accept: application/json and handle the response in your UI.

submit.js
const res = await fetch("https://formsubmit.app/f/k3m9p2qabx", {
  method: "POST",
  headers: { Accept: "application/json" },
  body: new FormData(form),
});

const { ok, id, error } = await res.json();
// → { ok: true, id: "r8T2kLm0Qa9zXc1V", message: "Thanks!..." }

Integrations

Send submissions wherever your team works

Bring your own keys and connect in a minute. Failed deliveries retry automatically and every attempt is logged. Google Sheets uses the minimal drive.file permission — we can only touch the spreadsheets we create.

Browse integrations

Spam filter — last 30 days

Honeypot58%
Submitted too fast21%
Link & phrase heuristics13%
Rate limited6%
Captcha failed2%

Illustrative breakdown of how filtered submissions are typically caught.

Spam protection

Layered spam defence, on by default

Most bots are caught silently by the honeypot and timing checks, without making real people solve puzzles. Anything suspicious goes to a Spam folder — and never counts toward your quota.

  • Honeypot + time-to-submit checks
  • Content scoring with adjustable sensitivity
  • Your own blocked keywords
  • Per-IP rate limiting & duplicate detection
  • reCAPTCHA, hCaptcha or Turnstile with your keys

Pricing

Simple plans that grow with you

Start free. Upgrade when you need more forms or submissions. Yearly plans include two months free.

Free

$0/mo

  • 1 form
  • 50 submissions / mo
  • 100 MB file storage

Starter

$10/mo

  • 3 forms
  • 1,000 submissions / mo
  • 2 GB file storage

Pro

$25/mo

  • 15 forms
  • 2,500 submissions / mo
  • 10 GB file storage

Business

$50/mo

  • Unlimited forms
  • 10,000 submissions / mo
  • 25 GB file storage

Frequently asked questions

What is a form submission service?

A form submission service receives the data your website's forms send and does something useful with it: it stores each form submission, filters spam, emails you and forwards the data to tools like Slack, Google Sheets or a webhook. You point the form's action at the service's endpoint, so you don't need your own server.

What is a form backend?

A form backend is a hosted service that receives HTML form submissions for you. Instead of writing server code, you set your form's action to an endpoint URL; the service stores the submission, filters spam, emails you and forwards data to other tools.

Do I need to write any server code to use FormSubmit?

No. Set your form's action to your FormSubmit endpoint (https://formsubmit.app/f/your-id) and method to POST. It works with plain HTML, any JavaScript framework, WordPress, Webflow, Framer and AI-built sites.

How do I send an HTML form to email?

HTML alone can't send email. Set your form's action to your FormSubmit endpoint and method to POST, give every input a name, and each form submission is emailed to you with spam filtered out. You can set the subject with a hidden _subject field and reply directly to the sender.

Is FormSubmit free?

Yes. The Free plan includes 1 form, 50 submissions per month and 100 MB of file storage, with spam protection, webhooks and every integration. Paid plans start at $10/month, and yearly billing gives you two months free.

What happens if I go over my monthly submission limit?

Nothing is lost. Submissions are still accepted and stored, but they are locked — you can't view them and they aren't emailed or forwarded — until you upgrade or your usage resets at the start of the next month. We email you at 80% and 100%.

How does FormSubmit stop spam?

Every plan includes a honeypot field, a time-to-submit check, content heuristics, your own blocked keywords, duplicate detection and per-IP rate limiting. You can also add reCAPTCHA, hCaptcha or Cloudflare Turnstile with your own keys. Spam goes to a separate folder and doesn't count toward your quota.

Can I send submissions to Google Sheets without giving access to my whole Drive?

Yes. FormSubmit only requests Google's drive.file scope, so it can only access the spreadsheets it creates for you — never your other files.

Where is my data stored and how long is it kept?

Submissions are stored in Postgres and files in private object storage. You choose retention per form: forever, 1 year, 90, 30 or 7 days, or don't store at all (forward to email and integrations only).

Your form backend is 60 seconds away

Sign up with Google or email, create a form, paste the endpoint. Free forever for small sites — no credit card.

As featured on

FormSubmit on Nick LaunchesFeatured on TinyShelfShinyLaunchLaunched on SohamLaunchesFormSubmit — Featured on Smol LaunchFeatured on ScrollLaunchFeatured on LaunchAFFeatured on DanielLaunchesFormSubmit on LetsLaunchFeatured on ShipNLaunchFormSubmit: The form backend for any website on FeaturedLaneFeatured on CodeHypeFeatured on NoonlaunchFeatured on FasLaunchFeatured on Wonderlaunch
FormSubmit on Better LaunchFeatured on ListMySaaSFeatured on Launch Llama ToolsFeatured on LaunchItFeatured on ProductFameFeatured on DodoDirectoryDiscover FormSubmit on FirstoFeatured on Findly.toolsFeatured on neeed.directoryLaunched on StartupBaseFeatured on ufind.bestFeatured on SaaSBisonFeatured on SumoDirFeatured on IndieShippedFormSubmit on StartupTrusted