Free Contact Form to Email API
Receive your HTML contact form submissions straight in your email inbox.
No server, no backend code, free forever.
Point your form at Formpost
<form action="" method="POST">
<input type="text" name="name" required>
<input type="email" name="email" required>
<textarea name="message" required></textarea>
<button type="submit">Send</button>
</form>Works with any stack
- HTML
- React
- Next.js
- Vue
- Nuxt
- Svelte
- Astro
- Angular
- Alpine.js
- Hugo
- Jekyll
- Eleventy
- Gatsby
- Webflow
- Framer
- WordPress
Everything a contact form needs
The endpoint is the easy part. The work went into what surrounds it — deliverability, spam filtering, and somewhere sane to read it all back.
No backend code
Setting up a form usually means standing up a server just to relay an email. There is nothing to deploy here and nothing to keep patched.
Submissions kept for you
Every message is emailed to you and also stored, searchable and exportable in the dashboard — 30 days on the free plan, a year on paid.
Encrypted end to end
Submissions travel over HTTPS and are encrypted at rest. A form's endpoint only ever delivers to the address it was set up for.
Design without limits
This is an API, not a widget. No iframe, no injected stylesheet, no branding — your markup and your CSS, exactly as you wrote them.
Built to stay up
The submit endpoint is a small Go service that does one thing: accept the request and store it. Everything slower happens after the response.
Your data stays yours
No tracking pixels in your form flow, nothing sold on, nothing profiled. Export or delete a form's submissions whenever you want.
How it works
Three steps, and none of them involve a server.
- 1
Create your form
Every form gets its own endpoint — a URL that belongs to it and nothing else. Point your form at it and you are done.
Create FormSign in and the new-form dialog opens straight away.
- 2
Configure it
Choose where submissions land, set the subject line, turn on spam filtering, autoresponder and forwarding. All of it lives in the dashboard, so your markup never has to change again.
contact.html<form action="https://submit.formpost.ai/YOUR_FORM_ID" method="POST"> <input type="text" name="name" required> <input type="email" name="email" required> <textarea name="message" required></textarea> <button type="submit">Send</button> </form> - 3
Paste it into your page
Drop the snippet from step 2 into your site. The one thing worth double-checking is the
action— it has to be your form’s own endpoint.<form action="https://submit.formpost.ai/YOUR_FORM_ID" method="POST">
“A contact form should not need a build step, a database, or a Saturday. You write the markup you were going to write anyway, point it at one URL, and the mail shows up.”
The premise Formpost is built on
Frequently asked questions
The short answers. Longer ones live in the Formpost docs.
Host anywhere
- Vercel
- Netlify
- Cloudflare Pages
- GitHub Pages
- GitLab Pages
- Firebase
- Render
- DigitalOcean
Get started
Put a working contact form on your static site in the next few minutes.
Free forever for 250 messages a month.