Contact Form Without a Backend — No Server Needed

A contact form without a backend works by pointing your HTML form's action at a hosted API instead of your own server. With splitforms, you POST to https://splitforms.com/api/submit, add your access key as a hidden field, and the submission is emailed to you and saved to a dashboard — no PHP, Node process, or database required.

Why a Contact Form Normally Needs a Backend

Every website needs a contact form. But contact forms require a server to receive the submission, a database to store it, an email service to notify you, and spam protection to filter bots.

If you're building a static site, a JAMstack app, or a simple landing page, you don't want to spin up a server just for one form.

The Fix: Point Your Form at a Hosted Backend

A hosted form backend handles the server, database, email, and spam filtering for you. You just add one URL to your HTML form.

<form action="https://splitforms.com/api/submit" method="POST">
  <input type="hidden" name="access_key" value="YOUR_ACCESS_KEY">
  <input type="hidden" name="redirect" value="https://yoursite.com/thanks">
  <input type="hidden" name="form_loaded_at" id="form_loaded_at">
  <input type="checkbox" name="botcheck" style="display:none" tabindex="-1">

  <input name="name" type="text" placeholder="Name" required>
  <input name="email" type="email" placeholder="Email" required>
  <textarea name="message" placeholder="Message" required></textarea>
  <button type="submit">Send</button>
</form>

<script>
  document.getElementById('form_loaded_at').value = Date.now();
</script>

No PHP. No Node.js. No Python. No database. No SMTP. Just HTML — plus one optional script tag for the time-trap spam field.

contact-form.html

No backend needed — this form works right now

Fill it out and send it. This form has zero server-side code — it posts directly to splitforms.

What happens next ⚡

  • 📥Submission received — stored in your searchable dashboard
  • 📧Email notification — delivered to your inbox instantly
  • 🛡️Spam filtered — AI classifier + honeypot, no CAPTCHA
  • 🔗Webhook fired — optional: forward to Slack, Discord, Sheets
  • ↩️User redirected — to your thank-you page
Response time
14ms
median edge latency across 14 regions
Get Free Access Key →

500 submissions/month free · No credit card

How to Add a Contact Form Without a Backend (4 Steps)

  1. Create a free access keySign up at splitforms (no credit card) and copy your form's access_key from the dashboard.
  2. Point your form at the endpointSet the form's action to https://splitforms.com/api/submit with method POST, then add access_key as a hidden field.
  3. Add the built-in spam fieldsInclude the hidden botcheck honeypot (leave it empty) and a form_loaded_at field set to the page-load timestamp — splitforms also rate-limits abuse automatically.
  4. Deploy and testPush the page live, submit a real test entry, and confirm it lands in your inbox and the submissions dashboard.

What You Get With a No-Backend Contact Form

The free plan covers 500 submissions/month across unlimited forms. See the full pricing breakdown.

Where a No-Backend Contact Form Works Best

FAQ: Contact Forms Without a Backend

Can I have a contact form without a backend?

Yes. Use a hosted form backend like splitforms. You point your HTML form at their endpoint URL, and they handle storage, email notifications, and spam filtering. No server-side code required.

Do contact forms need a database?

No. A hosted form backend stores submissions for you. With splitforms, submissions are stored in row-level-secured Postgres — you don't need to set up or maintain a database.

How do I collect form submissions without a server?

Set your form's action attribute to a form backend endpoint (e.g., https://splitforms.com/api/submit), add your access key as a hidden field, and submissions are sent directly to the backend — bypassing your server entirely.

Does this work on static sites?

Yes. Form backends work on any static site host: GitHub Pages, Netlify, Vercel, Cloudflare Pages, Amazon S3, or any web server serving HTML files.

Is a contact form without a backend secure?

splitforms filters spam with a hidden honeypot field, a time-trap field that catches instant bot submissions, and server-side content heuristics — plus an optional reCAPTCHA v2 if you want extra coverage. Submissions are also rate-limited (6/minute per IP) to block abuse.

How many submissions can I collect for free?

The free plan includes 500 submissions per month across unlimited forms, with email notifications, spam filtering, and dashboard access included. Paid plans start at $1/month for 1,000 submissions with exports and webhooks.

Can I connect a no-backend form to Slack, Sheets, or email?

Email notifications are included free on every plan. Paid plans add one-click integrations for Google Sheets, Notion, Airtable, Slack, Discord, Telegram, WhatsApp, Mailchimp, and generic signed webhooks.

Does a contact form without a backend need JavaScript?

No. A native HTML form submit works with zero JavaScript. Add a small script only if you want to set the optional time-trap spam field or show an inline success message instead of a redirect.

Start collecting submissions — free

500 submissions/month, no credit card, no backend.

Get your free access key →

Questions? Email hello@splitforms.com