Form backend migration checklist
A form backend migration checklist lists what to inventory, replace, map, and test before you switch providers. Choose your current provider and form features below to build a checklist that covers the endpoint, field names, confirmation behaviour, spam controls, notifications, integrations, and a real test submission. It runs locally in your browser and never asks for credentials or form data.
Build your migration checklist
Choose what your form does today. The checklist updates in your browser and never asks for a password, API key, or form data. Nothing you select leaves this page.
Your migration checklist
Moving a contact form from Formspree. Work through the sections in order and keep the old form live until the test submission passes.
1. Inventory before you change anything
- List every page that uses Formspree and note the form's current action URL, hidden fields, and success behaviour.
- Record the contact form fields you must keep: name, email, message.
- Export or screenshot the current notification recipients, subject lines, and any autoresponder copy so nothing is lost.
2. Replace the endpoint
- Replace the formspree.io/f/<id> action with the splitforms endpoint and add the access_key hidden input.
- Keep a copy of the old action URL until the new endpoint has passed a real test submission.
- Confirm the new form sends a POST request and that the access_key field is inside the form, not in a script.
- Check the request contract before you deploy. Open the API reference.
3. Map field names
- Keep the existing field names (name, email, message) so notifications, exports, and integrations keep working.
- Map every old field to a new field, and mark any field you intentionally drop so downstream automations can be updated.
- Check that email, name, and message use the names splitforms expects for reply-to and notification formatting.
4. Confirmation and redirect behaviour
- Decide whether the new form shows an inline thank-you message or redirects to a page, then test that message.
- Confirm the visitor sees a clear success state and does not stay on a blank or unchanged form.
5. Spam controls
- Turn on the honeypot field and confirm it is hidden from real visitors but still present in the form markup.
- If the old provider used reCAPTCHA or hCaptcha, decide whether to keep it or rely on splitforms spam scoring.
- Submit one obvious spam test and confirm it is blocked or flagged without blocking a normal submission.
- Check the spam setup against the checker before you go live. Run the contact form spam checker.
6. Notifications and integrations
- Recreate the email notification to your team and send a test submission through it.
- List any downstream tools that read the old provider's data, even if you are not recreating them today.
- If a webhook is involved, verify the signature header and retry behaviour before switching production traffic. Read the webhook setup guide.
7. Test submission and cut-over
- Send a real test submission with every field filled, including an upload if your form has one.
- Confirm the submission appears in the dashboard, the notification arrives, and the confirmation behaviour works.
- Check the submission payload for missing or renamed fields before you remove the old form.
- Keep the old provider active for a short window, then remove it only after the new form passes every check.
- If a submission fails, work through the symptoms in order. Open the form submission troubleshooter.
Start with the Read the Formspree migration guide, compare options on the form backend alternatives hub, check the API reference, or open the form submission troubleshooter if a test fails.
What should you inventory before migrating a form?
Start with every page that contains a form and write down its current action URL, hidden fields, success behaviour, notification recipients, and any tool that reads the submissions. Include file fields and redirect URLs because they are easy to forget and hard to notice when they break. Keep the old provider active during this step so no submission is lost while you work.
How do you replace the endpoint and map field names?
Change the form action to the new endpoint and add the access key as a hidden field inside the form. Keep the existing field names where they already match, and map every old field to a new one when you rebuild a hosted form as HTML. Check the request contract in the API reference before you deploy, then confirm the payload contains the fields your notifications and integrations expect.
What confirmation and spam behaviour should you test?
Test the success state a visitor sees, whether that is an inline thank-you message or a redirect to a specific page. Then test the honeypot and any CAPTCHA you keep, and send one obvious spam submission to confirm it is blocked without stopping a normal one. The contact form spam checker reviews the form markup for common gaps.
Why is a real test submission the last step?
A test submission proves the whole path works: the browser sends the request, the backend stores it, the notification arrives, and the visitor sees the right confirmation. Fill every field, include an upload if the form has one, and check the stored payload for missing or renamed fields. If something fails, the form submission troubleshooter walks through the symptoms in order.
What do people ask about form backend migration?
What should a form backend migration checklist include?
It should cover an inventory of every form and its current endpoint, the endpoint replacement, field-name mapping, confirmation and redirect behaviour, spam controls, notifications and integrations, and a real test submission. Keep the old provider live until the test submission passes every check.
How long does a form backend migration take?
A simple contact form that only changes its action URL can move in minutes. A form with file uploads, redirects, webhooks, or a hosted builder that must be rebuilt as HTML takes longer because each field and integration needs its own test. The checklist on this page lists the work in the order that avoids lost submissions.
Do I need to change my field names when I migrate?
Not always. If the old provider uses standard names such as name, email, and message, keep them so notifications and integrations continue to work. If you move from a hosted builder, rebuild the questions as HTML fields and map each old field to a new one before you update downstream tools.
Does this checklist generator send my data anywhere?
No. It runs entirely in your browser and only uses the options you select to build a checklist. It does not ask for a password, API key, endpoint secret, or any form submission data, and nothing you choose leaves your device.
More free form tools
Form backend cost calculator
Enter monthly submissions and compare the cheapest listed plan across eight form backends.
Form conversion rate calculator
Enter form views and submissions to get your contact form conversion rate, plus leads needed and total value for a target.
Email deliverability checker
Enter a domain to check its SPF, DMARC and MX records and get a plain-English fix for each.
SPF record checker
Look up a domain's SPF record, see each mechanism explained and count DNS lookups against the 10-lookup limit.
DMARC record generator
Pick a policy and report address and copy a ready _dmarc TXT record.
DMARC checker
Look up a domain's DMARC record and see the policy and every tag explained.
DKIM record checker
Enter a domain and selector to check its DKIM key, with presets for common senders.
SPF record generator
Tick your email providers and copy one SPF TXT record with a lookup count.
Contact form spam checker
Paste form HTML to audit its honeypot, endpoint, CAPTCHA markers and spam resistance.
Honeypot field generator
Generate a hidden anti-spam input with your chosen name and hiding technique.
HTML form action & method generator
Enter an endpoint, choose GET or POST, add an access key and field names, then copy the HTML.
HTML form validation tester
Paste a form snippet to inspect required, type=email, minlength and pattern checks in a live preview.
Form action URL tester
Check a form action URL for reachability, CORS headers, POST acceptance and backend.
Email obfuscator
Encode your email so spam scrapers can't read it but people can still click it.
Mailto link generator
Build a mailto: URL with recipients, CC, BCC, subject and a pre-filled body.
Alphanumeric regex tester
Test letters and numbers only, spaces, handles and Unicode; copy validation patterns.
Email regex tester
Test the WHATWG email regex and two other patterns against edge cases and your own list.
Phone number regex tester
Test numbers against E.164, US/Canada and digits-only patterns and copy code snippets.
ZIP code regex tester
Test US ZIP, ZIP+4, Canadian and UK postal codes and copy the regex or HTML pattern.
Number regex tester
Test digits, decimals, money and thousands separators and copy validation patterns.
Date regex tester
Test dd/mm/yyyy, mm/dd/yyyy and ISO dates with leap-year checks and copy JS or HTML patterns.
Name regex tester
Test name patterns for O'Brien, accents and Unicode letters; copy JS or HTML pattern snippets.
Username regex tester
Test username presets for GitHub, Instagram and X; check reserved names and copy JS or HTML patterns.
IP address regex tester
Test IPv4, IPv6, CIDR and private-range patterns and copy JS or HTML pattern snippets.
URL regex tester
Test website URLs against http(s) regex patterns and new URL(), and copy JS, HTML or PHP code.
HMAC-SHA256 generator
Generate and verify webhook signatures for common providers in your browser.
URL encoder and decoder
Encode text, build an x-www-form-urlencoded body or parse a query string.
Password regex generator
Pick strength rules, test passwords live and copy the regex or HTML pattern.
UTM builder
Build campaign URLs with UTM parameters, tag a CSV in bulk and check tagged links.
HTML to JSX converter
Paste HTML and get JSX or a working React/Next.js form component.
Image to Base64 converter
Convert images to Base64 data URLs in your browser and copy HTML and CSS snippets.
Base64 to image converter
Paste a Base64 data URI to preview and download the decoded image.
Base64 decode & encode
Decode Base64 to readable UTF-8 text or encode text to Base64, locally in your browser.
URL to Base64 converter
Fetch a direct image URL in your browser and get its Base64 data URL.
HTML form generator
Build a form visually and copy HTML, React JSX or Tailwind code.
AI form generator
Describe your form in plain English and copy working HTML.
Time regex tester
Test 24-hour, AM/PM and ISO time patterns and copy JavaScript, Python or HTML snippets.
Credit card regex tester
Test Visa, Mastercard 2-series, Amex and more card patterns with brand detection and a Luhn check.
Hex color regex tester
Test #RGB, #RRGGBB and alpha hex colors plus rgb() and hsl() values with live color swatches.
UUID regex tester
Test UUID v1-v8, nil/max and GUID formats with version and variant checks; copy JS or HTML patterns.