Email form
An email form for any website
Get every form submission in your inbox: paste the email form code, point it at your FormSubmit endpoint and each message is emailed to you with spam filtered out. No PHP, no SMTP, no mail app needed.
How it works
How a website email form works
The form sends, the backend emails
A web page can't send email by itself. Your form posts its fields to your FormSubmit endpoint, which filters spam, stores the submission and emails it to you.
Reply goes straight to the sender
Reply-To is set to the visitor's address, so pressing Reply in your inbox answers them. Add a hidden _subject field to set the subject line.
Your address stays private
Unlike a mailto: form, your email address never appears in the page source, so scrapers can't harvest it, and visitors don't need a mail app.
Simple HTML email form code
A complete, accessible form that sends to email. Paste it into any page and replace YOUR_FORM_ID with your endpoint. The hidden _gotcha field is a honeypot that catches bots.
- 1Copy the email form HTML below, or customise the fields first.
- 2Paste it into any page of your website.
- 3Create a free FormSubmit account and replace YOUR_FORM_ID with your endpoint.
- 4Send a test. The submission arrives in your inbox within seconds, and Reply answers the sender.
Want the full walkthrough, with attachments and AJAX? Read how to send an HTML form to email. Need a contact page instead? Use the free contact form.
<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-subject">Subject</label>
<input id="fs-subject" type="text" name="subject" placeholder="What's this about?">
</div>
<div>
<label for="fs-message">Message</label>
<textarea id="fs-message" name="message" rows="5" placeholder="Write your message" 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>Customise
Build your email form
Add, remove or reorder fields, then open Get code and pick your platform. No account needed until you want submissions.
Add field
Fields (4)
Field settings
The key used in submissions, emails and integrations.
Any platform
Add an email form to the site you already have
Step-by-step guides with copy-paste code.
Plain HTML
Send an HTML form to email without PHP.
Learn moreWordPress
Paste into a Custom HTML block — no plugin.
Learn moreWebflow
Send Webflow forms to your inbox and more.
Learn moreReact
Email form with fetch and inline messages.
Learn moreNext.js
No API routes or SMTP setup.
Learn moreGitHub Pages
Email forms on a static host.
Learn moreLovable, v0 & Bolt
Make AI-generated forms email you.
Learn moreAll platforms
Astro, Vue, Svelte, Hugo, Jekyll and more.
Learn moreWhat your email form gets
- Every submission emailed to you within seconds
- Extra recipients, each confirmed by email
- Subject and body templates with {{field}} variables
- Auto-reply email to the person who wrote in
- Daily or weekly digests for busy forms
- Spam filtering that never counts toward your quota
- File attachments, linked securely from the email
- No FormSubmit branding in your emails, on any plan
See email notifications for recipients, templates, digests and autoresponders.
Pricing at a glance
Every feature and integration is included on every plan. Spam never counts toward your limit. Compare plans
Frequently asked questions
How do I make a form that sends to my email?
Write a normal HTML form, set its action to your FormSubmit endpoint (https://formsubmit.app/f/YOUR_FORM_ID) and its method to POST, and give every input a name. Each submission is then emailed to you. You don't need PHP, a mail server or JavaScript.
Is there a free email form for websites?
Yes. FormSubmit's Free plan includes 1 form and 50 submissions a month, with email notifications, spam filtering, autoresponders and every integration. Paid plans start at $10 a month for more forms and submissions.
Why not use a mailto: form?
A mailto: action only opens the visitor's email app with a draft. Many visitors have no mail app set up, nothing is sent unless they press Send, and your address is exposed in the page source. A form backend sends the email for you every time.
Can the email form send to more than one address?
Yes. Add recipients under Notifications in your form's settings. Each new address confirms once by clicking a link, then receives every submission.
Can I change the subject of the emails I receive?
Yes. Add a hidden input named _subject to the form, or set a subject template with field variables such as New enquiry from {{name}} in the form's notification settings.
Will the emails go to spam?
Notification emails are sent from FormSubmit's authenticated sending domain, and spam submissions are filtered out before they reach you. If a message does land in junk, mark it as not spam and add the sender to your contacts.
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.