Free contact form generator
Pick your fields, pick your stack, copy the code. No account, no endpoint required, and markup that is accessible before you style it. The generator is being built now. The output it produces is already documented below.
Six stacks, one form
The same fields, emitted for whatever you are building with. Plain CSS or Tailwind classes.
- HTMLcontact.html
- ReactForm.jsx
- Next.jsaction.ts
- Astroform.astro
- VueForm.vue
- SvelteForm.svelte
<form action="https://api.formroute.dev/f/YOUR_ID" method="POST"> <label for="email">Email</label> <input id="email" name="email" type="email" required /> <label for="message">Message</label> <textarea id="message" name="message" required></textarea><!-- Honeypot: bots fill it, people never see it. --><input name="_gotcha" type="text" tabindex="-1" autocomplete="off" hidden /> <button type="submit">Send</button> </form>
Most generators emit markup you have to fix
A placeholder is not a label, and a screen reader announces nothing when the placeholder disappears. Every field here gets a real <label for>.
Every field gets a name too. FormData reads name, not id, and a field without one is dropped silently. That single omission accounts for most submissions that arrive with a value missing.
The endpoint is a placeholder you can point anywhere. FormRoute is offered, never required: the markup works against any backend that accepts a POST.
The code already exists, hand-written
Every stack the generator will target has a page with the working code and the constraint that stack actually has: whether it needs a server, what its static build takes away, and where validation has to run. Start at contact forms by stack.