HeadlessBrowsers
A list of (almost) all headless web browsers in existence
Install / Use
/learn @dhamaniasad/HeadlessBrowsersREADME
Headless Browsers
✨ Get long term memory across all your AI tools with MemoryPlugin [sponsor]
A list of (almost) all headless web browsers in existence
A web browser without a graphical user interface, controlled programmatically. Used for automation, testing, and other purposes.
Browser engines
These browser engines fully render web pages or run JavaScript in a virtual DOM
Name | About | Supported Languages | License :------------ |:---------------| :----- | :----------- |Chromium Embedded Framework |CEF is a open source project based on the Google Chromium project. | JavaScript | BSD | |Erik | Headless browser on top of Kanna and WebKit.|Swift| MIT | |jBrowserDriver | A Selenium-compatible headless browser which is written in pure Java. WebKit-based. Works with any of the Selenium Server bindings.|Java| Apache License v2.0 | |PhantomJS | [Unmaintained] PhantomJS is a headless WebKit scriptable with a JavaScript API. It has fast and native support for various web standards: DOM handling, CSS selector, JSON, Canvas, and SVG. | JavaScript, Python, Ruby, Java, C#, Haskell, Objective-C, Perl, PHP, R(via Selenium) | BSD 3-Clause | |Splash | Splash is a javascript rendering service with an HTTP API. It's a lightweight browser with an HTTP API, implemented in Python using Twisted and QT.|Any| BSD 3-Clause | |Surf|Surf is an open source project that implements a virtual web browser that can be controlled programatically | Go | MIT
Multi drivers
These libraries can control multiple browser engines (typically using Selenium)
Name | About | Supported Languages | License :------------ |:---------------| :----- | :----------- |CasperJS | [Unmaintained] CasperJS is an open source navigation scripting & testing utility written in Javascript for the PhantomJS WebKit headless browser and SlimerJS (Gecko). | JavaScript | MIT | |Geb | Geb is a Groovy interface to WebDriver.|Groovy| Apache | |Playwright | Playwright is a Node library to automate the Chromium, WebKit and Firefox browsers with a single API |TypeScript| Apache | |playwright-dotnet | Playwright for .NET is a library to automate Chromium, Firefox and WebKit browsers with a single API. |.NET| MIT | |playwright-python | Playwright for Python is a library to automate Chromium, Firefox and WebKit browsers with a single API. |Python| Apache | |playwright-java | Playwright for Java is a library to automate Chromium, Firefox and WebKit browsers with a single API. |Java| Apache | |playwright-go | Playwright for Go is a library to automate Chromium, Firefox and WebKit browsers with a single API. |Go| MIT | |Selenium | Selenium is a suite of tools to automate web browsers across many platforms.|JavaScript, Python, Ruby, Java, C#, Haskell, Objective-C, Perl, PHP, R, C++| Apache | |Splinter | Splinter is an open source tool for testing web applications using Python. It lets you automate browser actions, such as visiting URLs and interacting with their items.|Python| - | |SST | SST (selenium-simple-test) is a web test framework that uses Python to generate functional browser-based tests.|Python| - | |Watir | The most elegant way to use Selenium WebDriver with Ruby.|Ruby| MIT |
PhantomJS drivers
These libraries control PhantomJS
Name | About | Supported Languages | License :------------ |:---------------| :----- | :----------- |Ghostbuster | Automated browser testing via phantom.js, with all of the pain taken out! That means you get a real browser, with a real DOM, and can do real testing!|JavaScript| Not specified | |jedi-crawler | Lightsabing Node/PhantomJS crawler; scrape dynamic content : without the hassle|JavaScript| Not specified | |Lotte| Lotte is a headless, automated testing framework built on top of PhantomJS and inspired by Ghostbuster. | JavaScript | MIT | |phantompy | Phantompy is a headless WebKit engine with powerful pythonic api build on top of Qt5 Webkit|Python| LGPL-2.1 | |X-RAY | Supports strings, arrays, arrays of objects, nested object structures, selector API, pagination, crawler, concurrency, throttles, delays, timeouts, and pluggable drivers (PhantomJS, HTTP)|JavaScript| MIT | |Horseman | Promise based Node.js module for PhantomJS. Features chainable API, understandable control-flow, support for multiple tabs, and built-in jQuery.|JavaScript| MIT |
Chromium drivers
These libraries control Chromium
Name | About | Supported Languages | License
:------------ |:---------------| :----- | :-----------
|Awesomium | Chromium-based headless browser engine|C++, .NET| Free/Commercial |
|Headless Chromium | Chromium feature activated with the --headlesss flag, currently availible in the nightly build of Chromium, not yet released|C++| Opensource |
|Puppeteer | Headless Chrome Node API from the Chrome DevTools team|JavaScript| Apache |
|PuppeteerSharp | PuppeteerSharp is a .NET port of the official Headless Chrome Node.JS Puppeteer API|.NET| MIT |
|chrome-remote-interface | Chrome Debugging Protocol interface for Node.js|JavaScript| MIT |
|Chromy | Features chainable API, mobile emulation, fundamental API such as javascript evaluation. |JavaScript| MIT |
|chromedp | A faster, simpler way to drive browsers (Chrome, Edge, Safari, Android, etc) without external dependencies (ie, Selenium, PhantomJS, etc) using the Chrome Debugging Protocol.|Go| MIT |
|Chromeless | Chrome automation made simple. Runs locally or headless on AWS Lambda. | JavaScript | MIT |
|Chrome PHP | PHP API to drive Chromium or Google Chrome via the Chrome Devtools Protocole. | PHP | Fair |
|Wendigo | Test-oriented browser automation library using Puppeteer. | JavaScript | GPL-3.0 |
|cdp4j | A web-automation library for Java. It can be used for automating the use of web pages and for testing web pages. It use Google Chrome DevTools Protocol to automate Chrome/Chromium based browsers. | Java | cdp4j Commercial License |
|Pyppeteer | Python port of puppeteer JavaScript (headless) chrome/chromium browser automation library | Python | MIT |
|Headless Chrome | A high-level API to control headless Chrome or Chromium over the DevTools Protocol. | Rust | None
Webkit drivers
These drivers control an in-process instance of Webkit
Name | About | Supported Languages | License :------------ |:---------------| :----- | :----------- |Browserjet | Runs a custom build of webkit, controlled by node.js interface.|JavaScript| Not specified | |ghost.py | ghost.py is a webkit web client written in python.|Python| MIT | |headless_browser | Headless browser based on WebKit written in C++.|C++| Not Specified | |Jabba-Webkit | Jabba's headless webkit browser for scraping AJAX-powered webpages.|Python| Not specified | |Jasmine-Headless-Webkit | jasmine-headless-webkit uses the QtWebKit widget to run your specs without needing to render a pixel.|Python, JavaScript, Ruby| Free | |Python-Webkit | Python-Webkit is a python extension to Webkit to add full, complete access to Webkit's DOM|Python| GNU | |Spynner | Programmatic web browsing module with AJAX support for Python|Python| Not specified | |Webloop | Scriptable, headless WebKit with a Go API. | Go | BSD 3-Clause | |wkhtmltopdf wkhtmltox wkhtmltoimage | Command line tool rendering HTML into PDF and other image formats. | shell, C | LGPLv3 | |WKZombie | Functional headless browser (with JSON support) for iOS using WebKit and hpple/libxml2.|Swift| MIT |
Other drivers
These libraries control lesser known browsers or OS-provided web libraries
Name | About | Supported Languages | License :------------ |:---------------| :----- | :----------- |Cypress | Cypress supports end-to-end, integration and unit tests and makes debugging tests simple. Default engine is headless Electron. |JavaScript| MIT | |[Nightmare](http:/
Related Skills
gh-issues
349.2kFetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments. Usage: /gh-issues [owner/repo] [--label bug] [--limit 5] [--milestone v1.0] [--assignee @me] [--fork user/repo] [--watch] [--interval 5] [--reviews-only] [--cron] [--dry-run] [--model glm-5] [--notify-channel -1002381931352]
imsg
349.2kiMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.
node-connect
349.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
oracle
349.2kBest practices for using the oracle CLI (prompt + file bundling, engines, sessions, and file attachment patterns).
Security Score
Audited on Apr 5, 2026
