splitforms.com
STATIC SITE CONTACT FORM

Add a contact form to any static site.

GitHub Pages, Astro, Hugo, Eleventy, Jekyll, S3, Cloudflare Pages, and plain HTML sites can all receive contact form submissions without running a backend.

Get free access key HTML guide
HTML static contact form connected to splitforms
§ 01Copy-paste form

Works on hosts that only serve files.

Static hosts cannot process POST requests themselves. The fix is to send the POST to a form backend built for that job.

<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 name="name" placeholder="Name" required />
  <input name="email" type="email" placeholder="Email" required />
  <textarea name="message" placeholder="Message" required></textarea>
  <input type="checkbox" name="botcheck" style="display:none" tabindex="-1" />
  <button type="submit">Send message</button>
</form>
§ 03FAQ
How do I add a contact form to a static site?

Use a hosted form backend. Add a normal HTML form, set action to https://splitforms.com/api/submit, include your access key as a hidden field, and deploy the static page. Submissions go to email and the splitforms dashboard.

Does this work on GitHub Pages?

Yes. GitHub Pages cannot run server-side form handlers, but it can serve HTML forms that POST to an external backend. splitforms works with GitHub Pages, Jekyll, and any static host.

Do I need JavaScript?

No. A native HTML form submit works without JavaScript. You can add JavaScript later for inline success states, but the backend does not require it.

How do I prevent spam on a static contact form?

Use a hidden honeypot field plus server-side filtering. splitforms includes honeypot handling and AI spam scoring, so you can avoid CAPTCHA on most static-site contact forms.