Contact form on Netlify
Netlify comes with its own form service, Netlify Forms. FormPost is the alternative if your submissions should stay with a provider in Germany, or if your form should work regardless of where you host.
Before you start: create a form in FormPost
Sign up for FormPost, create a form and enter the domain your site runs on. We then show you your form's address. It replaces https://www.formpost.eu/f/abc123 in the code below – nothing else needs to change.
Add the form to your site
The code below is a complete contact page. Whether you use plain HTML, a static site generator or a framework, copy the form block to the right place. Hugo, Jekyll, Astro and Eleventy have their own guides.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Contact</title>
</head>
<body>
<form action="https://www.formpost.eu/f/abc123" method="POST">
<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>
<input type="text" name="_gotcha" style="display:none;" tabindex="-1" autocomplete="off">
<button type="submit">Send</button>
</form>
</body>
</html>
Good to know
- If Netlify Forms is enough for you, you don't need FormPost. Netlify is a US provider. With FormPost your submissions stay in Germany, and you can move your site to another host later without rebuilding the form.
- Leave out the netlify and data-netlify="true" attributes. Otherwise Netlify registers the form for Netlify Forms during the build.
- In FormPost, enter the domain your site runs on – your-site.netlify.app or your own domain.
- Deploy previews and branch deploys run under their own addresses, such as deploy-preview-12--your-site.netlify.app. We reject submissions from there; that's the domain lock, not a bug. Test on your production address or with the test form in your dashboard.
What FormPost cannot do today
- Forms are submitted the classic way, meaning the page changes. Sending in the background via JavaScript is not supported at present.
- We do not accept file attachments.
- FormPost does not collect consent from your visitors. The notice in your own privacy policy remains your job – the wording for it is waiting, ready to copy, next to your form.
More guides and comparisons
Create a form and try it
The Free plan covers one form with ten notifications a day and costs nothing, permanently.