CheckOps home

Tools directory

B

CheckOps

Browserless

Browserless runs headless Chrome, Firefox and WebKit as a service, in Docker or in its cloud, so Puppeteer and Playwright scripts connect over WebSocket; source available under SSPL-1.0 or a commercial licence.

Visit website

Latest public signals

Not refreshed yet. Refresh reads the public site and, when the entry has a GitHub repository, the latest release.

Visit Website

Introduction

Browserless deploys headless browsers in Docker so that automation scripts can connect to them remotely instead of launching a local browser. The README’s quick start is a single docker run of ghcr.io/browserless/chromium, after which a browser service listens on ws://localhost:3000 and Puppeteer or Playwright scripts connect to it.

Images exist for Chromium, Firefox and a multi-browser image with WebKit. The service handles parallelism and queueing with configurable concurrency limits, health checks and session timeouts, and includes a debug viewer for watching live sessions. It works with the standard, unforked Puppeteer and Playwright libraries and comes with system fonts and emoji installed, which matters for screenshots.

Browserless also exposes REST APIs for common jobs such as screenshots, PDFs, content extraction and running functions, and a hosted cloud. Much of the company’s current marketing targets scraping and AI agents; for testing teams, the relevant value is a shared, scalable pool of browsers for end-to-end and rendering checks.

The licensing deserves attention. The code is dual-licensed under the MongoDB Server Side Public License (SSPL-1.0) or a commercial licence. SSPL is source-available but not an OSI-approved open-source licence. The licence file states that using Browserless to build commercial sites or applications, or in a continuous-integration system that is closed-source, requires a commercial licence. That covers many testing setups, so read the terms before adopting it.

The project is very active, with about 13,900 GitHub stars and a v2.62.0 release on 10 November 2026. The cloud has a free tier, and paid plans start at $25 a month for 20,000 units, according to the pricing page.

In the quality loop, Browserless is infrastructure for the end-to-end stage: a browser pool for CI tests, visual snapshot jobs and synthetic checks. It overlaps with Selenium Grid for Puppeteer and Playwright users who do not need WebDriver.

Before adopting Browserless, decide which deployment model you need. The hosted service removes the work of running Chrome at scale, while the self-hosted Docker image keeps traffic and data inside your network but leaves capacity planning, upgrades and security hardening to you. Check the licence carefully: the repository terms allow some free use, but commercial and closed-source use needs a paid licence. It is also worth measuring session start-up time and concurrency limits with your own scripts, because these drive both cost and test duration in CI.

For teams that only need a few parallel browsers in CI, running browsers directly in the pipeline may be simpler.

Features

  1. Docker images: Chromium, Firefox and multi-browser images.
  2. Remote connect: Puppeteer and Playwright connect over WebSocket.
  3. Concurrency control: Queueing, limits and timeouts.
  4. Debug viewer: Watch and debug live sessions.
  5. REST APIs: Screenshots, PDFs, content and functions.
  6. Fonts and emoji: Installed for consistent rendering.
  7. Health checks: Keep long-running pools stable.
  8. Cloud option: Hosted browsers with usage-based plans.
  9. Unforked libraries: Works with standard Puppeteer and Playwright.
  10. Token auth: Protect self-hosted endpoints with a token.

Pros

  1. Simple remote browsers: One container gives a browser endpoint for many scripts.
  2. Very active: Frequent releases and a large community.

Cons

  1. Licence: SSPL-1.0 or commercial; closed-source CI use needs a commercial licence according to the licence file.
  2. Not WebDriver: Selenium suites need a WebDriver grid instead.
  3. Resource use: Chrome sessions still need memory per session.

Run a local browser service:

docker run -p 3000:3000 -e TOKEN=dev-token ghcr.io/browserless/chromium

Connect from Playwright:

import { chromium } from "playwright";
const browser = await chromium.connectOverCDP("ws://localhost:3000?token=dev-token");
const page = await browser.newPage();
await page.goto("https://example.com");
console.log(await page.title());
await browser.close();

Practical tips:

  1. Set a token and concurrency limit before exposing the service on a network.
  2. Use the multi image when you need Firefox or WebKit as well as Chromium.
  3. Buy a commercial licence if you run it in a closed-source CI system, as the licence file requires.

Resources:

Pricing

Self-hosted under SSPL-1.0 or a commercial licence. Cloud: free plan with 1,000 units a month; paid plans from $25 a month (20,000 units) on the pricing page. See site.

  1. Puppeteer and Playwright teams that want a shared browser pool.
  2. Rendering, screenshot and PDF jobs in CI.
  3. Not a fit for WebDriver-based suites or if SSPL terms are a problem.

Conclusion

Browserless is a mature and very active way to run headless browsers as a service, locally or in the cloud. It removes the work of packaging browsers and managing concurrency.

Check the licence before adopting it, and pair it with a WebDriver grid if you also run Selenium tests.

On CheckOps, Browserless is filed under the End-to-end & functional stage. Related tools listed here include Selenium Grid, Docker Selenium, Moon, Lightpanda, Puppeteer and Playwright. Before choosing, compare them on licence, supported languages and platforms, hosting model, and how well each fits your existing CI pipeline. Facts on this page were checked against the official website, documentation and repository on 11 November 2026; statements the vendor makes about its own product are marked as vendor claims.

Alternatives

Other tools on CheckOps that cover similar ground. Open a page, or compare one with Browserless side by side.