Hosting and deploy platforms
Add a contact form to Netlify
Netlify Forms no longer caps free submissions, but its architecture has not changed. Forms are found by scanning your deployed HTML, spam is Akismet's call with nothing to tune, notifications are set per site rather than per form, and the form works only while Netlify hosts the site. Our endpoint is an ordinary URL, so there is no build-time detection, no netlify attribute and no hidden form to keep in sync, and the same markup keeps working if you ever move off Netlify.
Setup
Copy your endpoint
Create a form in the dashboard.
Replace the netlify attributes
Delete data-netlify, the netlify attribute and any hidden form-name input. Set the action to your endpoint instead.
Deploy
No build plugin, no post-processing step, nothing in netlify.toml.
Netlify examples
Swap in your own endpoint and these run as-is.
Before: Netlify Forms, which needs build-time detection and a form-name field.
<form name="contact" method="POST" data-netlify="true"> <input type="hidden" name="form-name" value="contact" /> <input type="text" name="name" required /> <input type="email" name="email" required /> <textarea name="message" required></textarea> <button type="submit">Send</button> </form>
After: a plain form with an action. Nothing Netlify-specific remains.
<form action="https://send.webforms.to/wft_your_key" method="POST">
<input type="text" name="name" required />
<input type="email" name="email" required />
<textarea name="message" required></textarea>
<input type="hidden" name="_next" value="https://example.com/thanks" />
<input type="text" name="_gotcha" tabindex="-1" autocomplete="off"
style="position:absolute;left:-9999px" aria-hidden="true" />
<button type="submit">Send</button>
</form>Worth knowing
- Because there is no build-time detection, forms rendered entirely by JavaScript work too, which is a known rough edge with Netlify Forms on SPA routes.
Netlify form FAQ
No build-time form detection, spam filtering you can tune per form, and on paid plans a submission can reach Slack, Discord, Telegram and webhooks as well as email. It also keeps working unchanged if you move the site to another host.
Yes. There is nothing to detect at build time, so client-rendered and dynamically mounted forms behave the same as static ones.
Related guides
Where Netlify submissions can go
The guide above gets the submission to your endpoint. From there it can land anywhere: one destination on Free, several on Pro.
Need the form markup too? The template gallery has complete forms for contact, waitlist, job application and more, and the form generator builds one field by field.
Ready to wire up your Netlify form?
Free for 300 submissions a month. Endpoint in under a minute, no card required.
Start free