Free HTML and contact form generator
Starts as a working contact form (name, email, message) and takes any fields you add: any name, any type, in any order. Copy clean HTML when you are done. Eleven input types including selects with options, radio groups, dates and file uploads. Labels are wired with for/id, name attributes are derived from your labels, and nothing you type leaves this page.
<form action="https://send.webforms.to/wft_your_key" method="POST"> <label for="name">Name</label> <input type="text" id="name" name="name" required> <label for="email">Email</label> <input type="email" id="email" name="email" required> <label for="message">Message</label> <textarea id="message" name="message" required></textarea> <button type="submit">Submit</button> </form>
Why this markup looks the way it does
Every field gets a visible <label> rather than a placeholder doing a label's job. Placeholders vanish the moment someone types, which is how half-filled forms get abandoned. Radio groups sit in a <fieldset> with a <legend>, which is what screen readers announce. Optional fields say "(optional)" in the label because a red-asterisk legend is the thing everyone has agreed to pretend works. There is no wrapper framework and no CSS opinion: it drops into whatever styles your site already has.
The form still needs somewhere to send
The generated action points at a placeholder. HTML can render a form but not deliver one: the POST needs a server. Create a free form and swap in your real endpoint: submissions land in email, Slack, Telegram or a webhook with no backend code on your side, and spam filtering runs before anything is delivered.
Building a contact form specifically? This tool already starts as one (name, email and message, each required), so you can copy the markup straight away or add fields around it. And the templates gallery has complete forms for common jobs, field choices explained.