The form action URL is the value of the HTML form element's action attribute, specifying the server endpoint where form data is sent when the user clicks submit.
By Vaibhav Jain · Last updated March 27, 2026
The action attribute is one of the most fundamental parts of an HTML form. It tells the browser where to send the form data. When a user clicks the submit button, the browser collects all form field values and sends them as an HTTP request to the URL specified in the action attribute.
The syntax is straightforward: <form action="https://example.com/submit" method="POST">. The method attribute determines whether data is sent as a POST request (in the request body, preferred for form submissions) or GET request (in the URL query string, rarely used for forms).
If you omit the action attribute, the form submits to the current page URL. This is common in server-rendered applications where the same page handles both displaying and processing the form. For form backends, you always set the action to the service's endpoint URL.
With FormsList, your action URL looks like https://formslist.com/f/your_form_hash. This is the unique endpoint for your form. All submissions sent to this URL are captured by FormsList and appear in your dashboard.
What is a form action URL? The form action URL is the value assigned to the "action" attribute of an HTML <form> element, specifying the destination server URL where the browser sends form data when the user clicks the submit button. It is one of the two essential attributes of any HTML form (alongside "method") and determines the entire submission flow: where the data goes, what processes it, and what the user sees after submission. The action attribute accepts any valid URL — an absolute URL to an external service (https://formslist.com/f/abc123), a relative path on the same server (/api/contact), or an empty string (which submits to the current page URL).
When a user clicks a submit button inside a <form> element, the browser performs the following sequence: it collects all named input, select, and textarea elements within the form; encodes their name-value pairs according to the form's enctype attribute (defaulting to application/x-www-form-urlencoded for text-only forms, or multipart/form-data for forms with file uploads); and sends an HTTP request to the action URL using the method specified in the "method" attribute (POST or GET). With method="POST" (the standard for form submissions), the encoded data is placed in the request body, which is encrypted when using HTTPS. With method="GET", the data is appended to the URL as query parameters — visible in the address bar, browser history, and server logs — which is why GET should never be used for forms containing sensitive data. If the action attribute is omitted entirely, the browser defaults to the current page URL, which is the standard pattern in server-rendered frameworks like PHP, Ruby on Rails, and Next.js server actions.
For static websites and JAMstack applications that lack server-side processing, the action URL must point to an external service that can receive and handle the form data. This is the fundamental use case for form backend services. With FormsList, you set your form's action to your unique endpoint URL: <form action="https://formslist.com/f/your_form_id" method="POST">. When the form is submitted, the browser sends the POST request to FormsList's servers, which process the submission (validation, spam filtering, storage, notifications) and either redirect the user to a configurable thank-you page or return a JSON response for AJAX submissions. The action URL remains stable — you never need to change it. All configuration changes (notification recipients, redirect URLs, spam settings, integrations) are managed in the FormsList dashboard, not in your HTML.
A real-world example: a startup has three forms on their website — a contact form on the About page, a demo request form on the Product page, and a newsletter signup form in the footer. Each form has a different FormsList action URL pointing to a separate endpoint: <form action="https://formslist.com/f/contact_hash" method="POST">, <form action="https://formslist.com/f/demo_hash" method="POST">, and <form action="https://formslist.com/f/newsletter_hash" method="POST">. Each endpoint has different settings: the contact form sends notifications to support@company.com, the demo form triggers a webhook to the CRM, and the newsletter form forwards to Mailchimp. The HTML on the website stays the same even as the team adjusts notification rules and integrations in the FormsList dashboard.
<form action='https://formslist.com/f/abc123' method='POST'>. The browser sends all form field data to FormsList's servers for processing.
<form action='' method='POST'>. With an empty action, the form submits to the current page URL, typically handled by server-side code on the same route.
<form action='https://api.yoursite.com/contact' method='POST'>. The form sends data to your own backend API for custom processing.
Set up your form backend in under a minute. No server required, no complex configuration — just a simple endpoint for your forms.