Migrate from Netlify Forms
Netlify Forms works by detecting netlify attributes during build. Formtorch uses a standard HTTP endpoint instead, which works on any hosting platform.
What changes
| Netlify Forms | Formtorch | |
|---|---|---|
| Setup | HTML attribute netlify or data-netlify="true" | POST to https://formtorch.com/f/YOUR_ID |
| Spam protection | Akismet / reCAPTCHA | TorchWarden (automatic) |
| Honeypot field | netlify-honeypot attribute on form | _honeypot hidden input |
| Redirect | action attribute on form | _redirect hidden input |
| File uploads | Supported | Supported (paid plans) |
| Platform dependency | Netlify only | Any hosting |
Migration steps
Create your forms in Formtorch
Sign in to app.formtorch.com . Create a project, then one form for each Netlify form you’re migrating. Copy the endpoint URLs.
Remove Netlify-specific attributes
Remove the netlify, data-netlify, and netlify-honeypot attributes from your forms:
<!-- Before -->
<form name="contact" netlify netlify-honeypot="bot-field" method="POST">
<input name="bot-field" type="hidden" />
...
</form>
<!-- After -->
<form action="https://formtorch.com/f/YOUR_FORM_ID" method="POST">
<input
name="_honeypot"
type="text"
style="display:none"
tabindex="-1"
autocomplete="off"
/>
...
</form>Add the action attribute and method
Netlify Forms uses the page URL as the form action. Formtorch requires an explicit action pointing to your endpoint:
<form action="https://formtorch.com/f/YOUR_FORM_ID" method="POST"></form>Add a redirect field
Netlify Forms used the action attribute for the post-submit redirect. In Formtorch, use the hidden _redirect field:
<input type="hidden" name="_redirect" value="https://yoursite.com/thank-you" />Remove Netlify hidden inputs
Netlify requires a hidden form-name input for AJAX submissions. Remove it:
<!-- Remove this -->
<input type="hidden" name="form-name" value="contact" />Set up email notifications
In your form’s Settings → Notifications, add your email address. Netlify sent notifications to your Netlify account email; Formtorch lets you configure recipients per form.
Export existing Netlify form data
Before you cut over, export your existing Netlify Forms submissions as CSV from the Netlify dashboard. These cannot be migrated to Formtorch automatically.
Test and go live
Send a test submission from the Formtorch dashboard to verify delivery, then deploy your updated forms.
React / Next.js forms on Netlify
If you used Netlify’s client-side form approach with a hidden form-name input and fetch, update it to post directly to Formtorch:
// Before (Netlify AJAX pattern)
await fetch("/", {
method: "POST",
headers: { "Content-Type": "application/x-www-form-urlencoded" },
body: new URLSearchParams({ "form-name": "contact", ...formData }).toString(),
});
// After (Formtorch)
await fetch("https://formtorch.com/f/YOUR_FORM_ID", {
method: "POST",
headers: { "X-Requested-With": "XMLHttpRequest" },
body: new FormData(formElement),
});Key differences
Platform independence: Netlify Forms only works when deployed on Netlify. Formtorch works with any hosting: Vercel, Netlify, Cloudflare Pages, GitHub Pages, or a self-hosted server.
Build-time detection: Netlify Forms requires a static HTML form to exist at build time. Formtorch has no build-time requirement. You can generate forms dynamically.
Spam protection: Formtorch’s TorchWarden runs automatically with no configuration. No reCAPTCHA tokens or honeypot wiring needed beyond adding the _honeypot field.
If you’re migrating a site away from Netlify entirely, Formtorch is a good time to make the switch. The endpoint works from any frontend regardless of where it’s hosted.
Learn more
- HTML Quickstart — full integration guide for HTML forms
- Next.js Quickstart — if you moved from Netlify to Vercel
- Email Notifications — per-form recipients and verification
- Spam Protection — TorchWarden signal reference
- Custom Redirects — using the
_redirectfield