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

The form backend for any website

Point your HTML, WordPress, React or AI-built form at one URL. FormSubmit emails you every submission, blocks spam, stores files and sends data 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 in with Google 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.

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

$5/mo

  • 2 forms
  • 1,000 submissions / mo
  • 250 MB file storage

Pro

$15/mo

  • 10 forms
  • 5,000 submissions / mo
  • 1 GB file storage

Business

$50/mo

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

Frequently asked questions

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.

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 $5/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 in with Google, create a form, paste the endpoint. Free forever for small sites — no credit card.