splitforms.com
HTML FORM BACKEND

HTML form backend without PHP or server code.

An HTML form backend is a hosted endpoint that receives your <form>'s POST request instead of a server you'd have to write yourself. With splitforms, you set the form's action to https://splitforms.com/api/submit, add a hidden access_key field, and every submission is validated, filtered for spam, and stored in a dashboard — no PHP, Node, SMTP, or database required.

Get a free access key See the full HTML setup guide
<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" />

  <label>
    Name
    <input name="name" autocomplete="name" required />
  </label>

  <label>
    Email
    <input name="email" type="email" autocomplete="email" required />
  </label>

  <label>
    Message
    <textarea name="message" required></textarea>
  </label>

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

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

What the HTML form backend handles

Your HTML file only collects fields. splitforms handles the parts that normally require backend code — see the full HTML request/response reference for every field the endpoint accepts.

  • Receives the POST request from the browser (form-urlencoded, JSON, or multipart).
  • Validates required fields and confirms form ownership via access_key.
  • Filters spam with the honeypot, the form_loaded_at time-trap, and server-side content checks.
  • Stores submissions in a searchable, exportable dashboard.
  • Emails the form owner on every submission, free on every plan.
  • Routes Starter-and-above submissions to webhooks and one-click integrations.

How to add an HTML form backend (5 steps)

The whole setup is editing a handful of attributes on a <form> tag you already have — no build step, no dependency to install.

  1. Step 1

    Get a free access key

    Sign up at splitforms.com/login — no credit card. Every form gets its own access_key, and the Free plan covers 500 submissions/month across unlimited forms.

  2. Step 2

    Set the form action and method

    Set action="https://splitforms.com/api/submit" and method="POST" on your <form> tag — both are native HTML attributes, nothing new to import.

  3. Step 3

    Add the required hidden fields

    Add access_key with your key as the value, an empty botcheck honeypot input, and a form_loaded_at field set to the page-load timestamp — all three are shown in the code example above.

  4. Step 4

    Add optional control fields

    Drop in subject for a custom notification email subject, redirect for a post-submit thank-you URL, or replyto to set the reply-to address — no backend code for any of them.

  5. Step 5

    Submit a test entry and check your dashboard

    Fill out the form yourself. The submission appears in your splitforms dashboard and inbox within seconds — email notifications are free on every plan.

Reserved field names, rate limits, and the full spam stack are covered in the spam protection docs. Compare plan limits — Free at 500/mo up to Business unlimited — on the pricing page.

When to use an HTML form backend

Use this pattern when you want to own the page markup but do not want to maintain the receiving server.

It is a fit for static sites, landing pages, agency client sites, Jamstack builds, and simple product pages. See the static site contact form guide for GitHub Pages, Astro, Hugo, Eleventy, and Jekyll specifics, or contact form without a backend for the broader no-server pattern. If you need a hosted visual form builder instead of raw markup, browse form guides for every framework.

HTML form backend FAQ

What is an HTML form backend?

An HTML form backend is the server-side endpoint that receives a form POST, validates the fields, filters spam, stores the submission, and can send notifications or webhooks. With splitforms, your static HTML page keeps the normal form tag and posts directly to https://splitforms.com/api/submit — there's no PHP script or server process to write.

Can an HTML form work without PHP?

Yes. Point the form action at https://splitforms.com/api/submit, add your access key as a hidden field, and the browser sends the submission to splitforms instead of a PHP script. Email notifications to the form owner are free on every plan, including Free.

Does this work on static hosting?

Yes. The same form works on GitHub Pages, Vercel, Netlify, Cloudflare Pages, S3, shared hosting, and any site that can render HTML — the request leaves the browser and goes straight to splitforms, so the host never needs to run server code.

How do I stop spam on a plain HTML form?

Add the hidden botcheck honeypot field (it must stay empty) and a form_loaded_at hidden field set to the page-load timestamp. splitforms combines those with server-side content checks and per-form allowed-domain rules to filter spam before it reaches your inbox.

How do I send HTML form data to my email without a server?

Use a hosted backend instead of SMTP. splitforms emails the form owner on every submission, on every plan including Free — no mail server, API key, or SMTP credentials to configure. Just set the form action to https://splitforms.com/api/submit.

Can I read my HTML form submissions with code instead of the dashboard?

Yes. Call GET https://splitforms.com/api/submissions with an Authorization: Bearer header set to your personal access token (Dashboard → MCP). Filter by form, page with limit (up to 100), before, and since; the response is { submissions, has_more }, capped at 60 requests/minute.

Can an HTML form backend post to Slack, Google Sheets, or a webhook?

Yes, on the Starter plan and above. splitforms adds one-click integrations for Google Sheets, Notion, Airtable, Slack, Discord, Telegram, WhatsApp, and Mailchimp, plus signed generic webhooks (HMAC-SHA256, single attempt, 8s timeout, no automatic retries).

Is there a rate limit on the HTML form backend endpoint?

Yes. Each form accepts up to 6 submissions per minute per IP address, with a sustained cap of 20 within a 15-minute window. Requests beyond that return HTTP 429, which protects your inbox from being flooded.

Connect your HTML form in the next two minutes.

500 submissions per month free, unlimited forms, no credit card.

Get your free access key