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.

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>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.