Simple HTML Form — The Smallest Working Contact Form
Ten lines of HTML. No CSS. No JavaScript. No framework. Real working contact form with submissions going to your inbox. The simplest version of the thing.
Most HTML form tutorials are 80% styling and 15% padding. The actual form is six lines. This page is the actual form — no CSS framework, no JavaScript intercept, no clever validation library. Just the HTML you need.
Three inputs (name, email, message), a hidden access key, a submit button. The form POSTs to splitforms, splitforms emails you the submission, the user sees a default confirmation page. Add styling later. Add JavaScript later. The bare HTML works first.
The trick that makes this simple version actually usable in production is the backend. Without a service like splitforms, even a 'simple' form needs a PHP runtime, an SMTP config, and spam filtering. With splitforms, the simple version is also the complete version: the POST handles email, storage, spam classification, and webhook fan-out, automatically.
Once the bare version is working, layer on whatever you need: CSS for styling, JS for inline feedback, validation library for complex rules, redirect URL for a custom thank-you page. The form HTML stays unchanged; everything else is additive.
How to set this up
Copy the 6 lines
Paste into any HTML page. Anywhere you can render a <form>, this works.
Add your access key
Sign up free at splitforms.com — paste the key into the hidden input.
Submit a test
Open the page, fill in the form, hit submit. The email arrives within seconds.
Six lines of HTML. Zero compromises.
Frequently asked questions
Why so simple?
Because most tutorials make HTML forms look harder than they are. The form is a wrapper around three inputs. Everything beyond that — CSS, validation, AJAX, thank-you pages — is optional polish, not core form mechanics.
Is this accessible?
Mostly yes — required attributes give native validation, placeholder gives visual hint. For full WCAG compliance add explicit <label> elements (not just placeholder text) so screen readers announce the field purpose. The simple version is functional; the accessible version adds 3 lines per field.
What's the redirect URL after submit?
If you don't set a `redirect` hidden field, splitforms shows a default thank-you page. To customize, add `<input type="hidden" name="redirect" value="https://yoursite.com/thanks">`.
Can I add CSS without breaking it?
Yes. The form is unstyled, so any CSS you add (Tailwind, Bootstrap, plain) layers on cleanly. Style the inputs, the button, the wrapper — the form logic doesn't care.
Related guides
Ship the form, not the backend.
Free for 1,000 submissions/month. Email delivery, AI spam filtering, signed webhooks, real dashboard — all on the free plan. No credit card.
Get a free access key →