Selenium Standalone Server vs. Selenium Server: What’s the Difference?
Selenium Server is the downloadable distribution; Standalone is one way to run its Grid components. Here’s how the terms differ and which setup to use.
Short answer: Selenium Server is the downloadable server distribution used for Remote WebDriver and Selenium Grid. Standalone is a Grid mode that runs all Grid components together in one process on one machine. They are not two competing current server products: “Server” names the distribution, while “Standalone” names one way to run it.
For a local Grid, start the current Selenium Server JAR with the standalone subcommand. By default, clients connect to http://localhost:4444. The phrase selenium-server-standalone.jar in older tutorials refers to legacy Selenium 2/3 package naming; check the current documentation before copying an old filename or command.
1. What the names mean
| Term | Meaning | What to remember |
|---|---|---|
| Selenium Server | The downloadable Selenium Server (Grid) distribution. | Use it when you need a server endpoint for Remote WebDriver. |
| Grid Standalone | A deployment mode where all Grid components run together in one process on one machine. | It is the simplest way to get a Grid endpoint running locally or in a straightforward CI job. |
selenium-server-standalone.jar |
A legacy package filename found in Selenium 2/3 instructions. | Do not assume its name or flags match current Selenium Server instructions. |
The current Selenium Grid guide describes the mode this way: “Standalone combines all Grid components seamlessly into one.” See the [official Selenium downloads page](https://www.selenium.dev/downloads/) and [Grid getting started guide](https://www.selenium.dev/documentation/grid/getting_started/) for current downloads and setup instructions.
2. When to use each Grid mode
| Mode | How it runs | Good fit | Client endpoint |
|---|---|---|---|
| Standalone | All Grid components in one process on one machine. | Local development, debugging, quick suites, simple CI. | Standalone server address; default http://localhost:4444. |
| Hub-Node | A Hub provides the entry point; one or more Nodes provide browser capacity, potentially on separate machines. | Adding browser capacity or combining environments without replacing the whole Grid. | Hub address; default port is 4444. |
| Fully distributed | Grid components run separately, ideally on different machines. | Infrastructure that needs independent components and greater deployment control. | Router address; default port is 4444. |
Choose based on machine count, operational complexity, scaling needs, and the endpoint your RemoteWebDriver clients can reach. For one machine and a small or moderate suite, start with Standalone. Move to Hub-Node or a distributed deployment when you need browser capacity on multiple machines or need to operate Grid components separately. The [Grid overview](https://www.selenium.dev/documentation/grid/) explains the architecture; component commands include standalone, hub, and node.
3. Start a current Selenium Standalone Server
- Install Java 11 or higher and install the browsers you intend to automate. Selenium’s setup guide lists browsers and browser drivers among the prerequisites. Selenium Manager can configure drivers automatically when enabled.
- Download the current Selenium Server JAR from the [Selenium downloads page](https://www.selenium.dev/downloads/). Use the exact versioned filename you downloaded.
- Start Standalone:
java -jar selenium-server-<version>.jar standalone
Replace <version> with the version in the actual downloaded filename. The server listens at http://localhost:4444 by default. Keep the process running while clients create sessions.
The stable release reported by the Selenium downloads page for this guide’s research was 4.49.0, dated September 9, 2026. Release numbers change; check the download page at installation time instead of pinning a version copied from an article.
Set a port and session limit
Use command-line options after the standalone subcommand. For example, to use port 4444 and configure a maximum of four sessions:
java -jar selenium-server-<version>.jar standalone --max-sessions 4 --port 4444
Pick a session limit that fits the machine and browser workload. A higher limit can increase contention for CPU and memory; it does not add machines or browser capacity by itself. Check mode-specific options with:
java -jar selenium-server-<version>.jar standalone --help
For other Grid modes, the command-specific help is available in the same way, such as hub --help or node --help. See the [Selenium CLI options guide](https://www.selenium.dev/documentation/grid/configuration/cli_options/) for available arguments.
Use a TOML configuration file
For settings you want to review and keep under source control, Selenium’s CLI guide recommends TOML configuration. You can combine a TOML configuration with command-line arguments. Consult the current [Grid configuration guide](https://www.selenium.dev/documentation/grid/configuration/) and the help for your downloaded version for the supported keys and precedence details; do not assume a configuration from an older Grid release remains valid.
4. Connect a RemoteWebDriver client
The Grid URL is the server endpoint, not the target website. A client requests a browser session from Grid and then uses WebDriver commands to navigate and interact with pages. These small examples use Selenium’s Python and JavaScript client libraries; install the matching client package in your project before running them.
Python example
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
driver = webdriver.Remote(
command_executor="http://localhost:4444",
options=options,
)
try:
driver.get("https://example.com")
print(driver.title)
finally:
driver.quit()
JavaScript example
const { Builder } = require('selenium-webdriver');
(async () => {
const driver = await new Builder()
.usingServer('http://localhost:4444')
.forBrowser('chrome')
.build();
try {
await driver.get('https://example.com');
console.log(await driver.getTitle());
} finally {
await driver.quit();
}
})();
Java example
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.remote.RemoteWebDriver;
import java.net.URI;
public class GridExample {
public static void main(String[] args) throws Exception {
WebDriver driver = new RemoteWebDriver(
URI.create("http://localhost:4444").toURL(),
new ChromeOptions()
);
try {
driver.get("https://example.com");
System.out.println(driver.getTitle());
} finally {
driver.quit();
}
}
}
In CI or when Grid runs on another machine, replace localhost with a hostname or address reachable from the client. The chosen URL depends on the deployment mode: Standalone address, Hub address, or Router address.
5. Legacy naming: why older tutorials look different
Selenium 2 and Selenium 3 tutorials commonly refer to a file named selenium-server-standalone.jar. That historical name is the source of much of the confusion: it can sound as though “Standalone Server” is a current product distinct from “Selenium Server.” In current documentation, download the versioned Selenium Server JAR and select a Grid mode with a subcommand, such as standalone.
When adapting a legacy guide, verify all three items against the current docs: the JAR filename, the command-line flags, and the expected endpoint. The old [Grid 3 documentation](https://www.selenium.dev/documentation/legacy/grid_3/) is useful for historical context, not as the default current setup recipe.
6. Performance, reliability, and operating cost
- Capacity: Standalone puts Grid components and browser sessions on one machine. Set a reasonable session limit and observe resource contention; scaling the limit alone does not distribute work to more machines.
- Scaling: Hub-Node lets Nodes contribute browser capacity, including from other machines. A distributed deployment separates components for deployments that need more infrastructure control.
- Reliability: A single-machine Standalone process is a single place to start and monitor. If that machine or process is unavailable, clients cannot create sessions there. For multi-machine needs, choose a topology that matches your operational and recovery requirements.
- Cost: Selenium Server is downloadable software. Your practical costs come from the machines, browser environments, CI time, and ongoing operation required for the selected topology. Hosted Grid services are another option when you prefer not to operate the Grid yourself.
- Version maintenance: Keep the Selenium Server version, client libraries, browsers, and driver setup compatible. Recheck official docs when upgrading because current releases and available options change.
7. Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
Unable to access jarfile |
The filename or working directory does not match the downloaded JAR. | Use the actual versioned filename or provide its full path; confirm the download completed. |
| Java version error or unsupported class version | The installed Java runtime is older than the server requires. | Install Java 11 or higher, then verify the runtime with java -version. |
Connection refused at localhost:4444 |
The server is not running, startup failed, or the client and server are in different containers or machines. | Read the server startup output, check the configured port, and use an address reachable from the client. In containers, localhost refers to that container itself. |
| Port already in use | Another process is listening on the configured port. | Stop the other process or select an available port with --port; point clients to the same port. |
| Session creation fails for a browser | The browser is missing, unavailable to the server process, or driver configuration did not succeed. | Install the requested browser in the server environment and review server logs. Enable Selenium Manager as documented if automatic driver configuration is appropriate: --selenium-manager true. |
| Works locally but fails in CI | CI may have a different Java version, missing browser, inaccessible endpoint, or conflicting port. | Check prerequisites in the CI environment, keep the server process alive during the job, and configure the client with the reachable Grid URL. |
| Old command or JAR name no longer works | The tutorial targets legacy Selenium 2/3 packaging or flags. | Download the current Server JAR and consult current mode-specific --help output and docs. |
8. ScreenshotNeo as an alternative for screenshot-only jobs
Selenium is the right choice when the task needs browser automation: clicking, typing, assertions, or application workflows. If the job only needs a rendered website screenshot, ScreenshotNeo is a screenshot API and MCP server for developers. It does not replace WebDriver automation. Its one-call API can return a PNG, JPEG, WebP, or PDF; see [ScreenshotNeo](https://screenshotneo.com) and the [API documentation](https://screenshotneo.com/docs/).
For a cURL example, save a screenshot of a page as WebP:
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
Cookie and consent banners are accepted and removed before capture, along with supported newsletter popups and chat widgets. Each step can be turned off. Bot checks/CAPTCHAs, blank pages, timeouts, failed loads, and cache hits cost nothing; response headers report the page verdict and billing status. ScreenshotNeo also has an MCP server with take_screenshot, get_page_info, and capture_pdf tools for AI agents.
Free includes 1,000 screenshots per month with no card. Paid plans start at $5 for 3,000 screenshots; all features are on every plan. [Create a free ScreenshotNeo account](https://screenshotneo.com/account/sign-up/) to try it.
9. FAQ
Is Selenium Standalone Server a separate product?
No. In current terminology, Standalone is a mode of the Selenium Server Grid distribution.
Can I use Standalone for RemoteWebDriver?
Yes. Start the Standalone server and configure the client’s remote endpoint, which defaults to http://localhost:4444.
Does Standalone mean the browser runs on the client machine?
The Grid server creates sessions in the browser environment available to that server. The client sends WebDriver commands to the server endpoint.
When should I move beyond Standalone?
Use Hub-Node or a distributed topology when you need browser capacity across machines or need to operate Grid components separately.
Is selenium-server-standalone.jar the right current download?
It is a legacy filename found in Selenium 2/3 material. Use the current versioned JAR from Selenium’s downloads page and follow its current setup instructions.
