What could be causing the 406 error after form submission in Webflow?

TL;DR
  • Ensure the form’s action endpoint supports the expected content type and returns a valid Content-Type header.  
  • Check for restrictive Accept headers, security filters, or firewalls that may block the request due to characters or content.  
  • Test form submission without extensions in incognito mode to rule out browser interference.  
  • If using Webflow’s native handler, investigate for third-party script conflicts or server-side filters.

406 Not Acceptable error after form submission in Webflow typically points to issues with server responses not matching the accepted content types of the request or restrictive security filtering by the server or firewall.

1. Check Webflow’s Built-in Form Handling

  • Webflow’s native form system handles submissions and email notifications directly.
  • If you customized the form action (e.g., pointing to an external endpoint), Webflow no longer manages the form, and your external server is responsible for handling the request.
  • If using Webflow’s native forms, a 406 error is unusual and may indicate server-side filtering on Webflow's infrastructure or third-party script conflicts.

2. Verify External Form Action Endpoints

  • If your Webflow form submits to an external service (e.g., via custom form action attributes), a 406 response usually means the server can’t generate a response in a format the client can accept.
  • Ensure:
  • The server supports the content type expected (usually application/json or text/html).
  • No strict Accept headers are being sent by custom scripts or browser plugins that the server can't satisfy.

3. Examine Firewall or Security Filters

  • Some external servers or services (AWS WAF, Cloudflare, LiteSpeed ModSecurity, etc.) may return a 406 if:
  • The request contains certain characters (like encoded HTML or JavaScript).
  • The request appears suspicious due to spammy content or user-agent headers.
  • Try removing or simplifying form input content (like test messages with no special characters) to identify if specific wording triggers the error.

4. Browser or Extension Interference

  • Occasionally, browser extensions (like privacy filters or script blockers) interfere with form behavior.
  • Test the form submission in an incognito window or disable extensions to rule out client-side issues.

5. Server-Side Code Misconfiguration

  • If your form submits to a custom backend (e.g., a PHP, Node.js, or Python script), make sure:
  • The response includes at least one valid Content-Type header that matches what the browser accepts.
  • The server doesn’t reject requests from unexpected sources (check CORS settings if using JavaScript).

Summary

406 error after a Webflow form submission usually happens when the form sends data to an external server that refuses the request due to unsupported content types or security rules. Double-check any third-party endpoints, simplify message content, and ensure your server returns a compatible response format.

Rate this answer

Other Webflow Questions