Contact form
A free contact form for your website
Add a working contact form to any website in a few minutes: paste the code, point it at your FormSubmit endpoint, and every message lands in your inbox, with spam filtered out. No server, no PHP, no plugin.
Customise
Build your contact form
Add, remove or reorder fields, then open Get code and pick your platform. No account needed until you want submissions.
Add field
Fields (3)
Field settings
The key used in submissions, emails and integrations.
Simple HTML contact form code
This is a complete, accessible contact form. Paste it into any page, replace YOUR_FORM_ID with your endpoint, and it's live. The hidden _gotcha field is a honeypot that catches bots.
- 1Customise the contact form fields, or start from the copy-paste HTML.
- 2Paste the code into your website: any page, builder or framework.
- 3Create a free FormSubmit account and replace YOUR_FORM_ID with your endpoint.
- 4Submit a test message. It arrives in your inbox within seconds.
Want it styled? Export a CSS or Tailwind version from the contact form generator. New to forms? Read how to send an HTML form to email.
<form action="https://formsubmit.app/f/YOUR_FORM_ID" method="POST">
<div>
<label for="fs-name">Name</label>
<input id="fs-name" type="text" name="name" placeholder="Jane Doe" required>
</div>
<div>
<label for="fs-email">Email</label>
<input id="fs-email" type="email" name="email" placeholder="jane@example.com" required>
</div>
<div>
<label for="fs-message">Message</label>
<textarea id="fs-message" name="message" rows="5" placeholder="How can we help?" required></textarea>
</div>
<!-- Honeypot: leave this hidden field empty to catch bots -->
<input type="text" name="_gotcha" tabindex="-1" autocomplete="off" style="display:none">
<!-- Optional: where to send people after submitting -->
<!-- <input type="hidden" name="_redirect" value="https://yoursite.com/thanks"> -->
<button type="submit">Send</button>
</form>Any platform
Add it to the site you already have
Step-by-step guides with copy-paste code for each platform.
Plain HTML
Static sites, GitHub Pages, shared hosting.
Learn moreWordPress
Paste into a Custom HTML block — no plugin.
Learn moreWebflow
Keep your Webflow design, change the action URL.
Learn moreReact
Controlled form with fetch and inline messages.
Learn moreNext.js
App Router form with a client component.
Learn moreFramer
Send Framer form submissions anywhere.
Learn moreLovable, v0 & Bolt
Make AI-generated forms actually deliver.
Learn moreAll platforms
Astro, Vue, Svelte, Hugo, Jekyll and more.
Learn moreWhat your contact form gets
- Every submission emailed to you (and teammates)
- Spam protection: honeypot, time trap, heuristics, rate limiting
- Optional reCAPTCHA, hCaptcha or Cloudflare Turnstile
- Auto-reply email to the person who wrote in
- File uploads for attachments and screenshots
- Your own thank-you page, or our hosted one
- Google Sheets, Slack, Discord, Airtable and webhooks
- No FormSubmit branding, on any plan
Pricing at a glance
Every feature and integration is included on every plan. Yearly billing gives two months free. Compare plans
Frequently asked questions
How do I add a contact form to my website?
Paste a standard HTML form into your page and set its action to your FormSubmit endpoint (https://formsubmit.app/f/YOUR_FORM_ID) with method POST. Every field needs a name attribute. Submissions are then emailed to you. No server code, PHP or plugin is required.
Is there a free contact form for websites?
Yes. FormSubmit's Free plan gives you 1 form and 50 submissions per month with email notifications, spam protection, file uploads and every integration included. It never adds branding to your form, emails or thank-you page.
Do I need PHP or a server for a website contact form?
No. The form posts directly to FormSubmit, which receives the message, filters spam, stores it and emails it to you. It works on static hosts like GitHub Pages, Netlify, Vercel and Cloudflare Pages, and on WordPress, Webflow and Framer.
Where can I get simple HTML contact form code?
Copy the HTML on this page, or customise fields in the free contact form generator and export code for HTML, Tailwind, React, Next.js, Vue, Svelte, Astro, WordPress, Webflow or Framer.
How do I stop spam on my contact form?
The generated code includes a hidden honeypot field, and FormSubmit also checks submission timing, content and rate limits on every plan. You can add reCAPTCHA, hCaptcha or Turnstile with your own keys. Spam goes to a separate folder and doesn't count toward your quota.
Can the contact form send email to more than one address?
Yes. Add extra notification recipients in your form's settings. Each new address confirms once by email, then receives every submission.
Related
Your form backend is 60 seconds away
Sign up with Google or email, create a form, paste the endpoint. Free forever for small sites — no credit card.