puppeteerDeveloper tools
puppeteer
A JavaScript library that provides a high-level API to control Chrome or Firefox over DevTools Protocol or WebDriver BiDi.
- Frontend
- QA / Testing
- Backend
- Full stack
- Automation
- Testing
- Library/framework
- CLI
- Windows
- macOS
- Linux
- Runs locally
- Docker supported

- Popularity
- 95.6k Stars
- GitHub stars
- Recent activity
- 10/1/2026
- Updated in the last 30 days
- License
- APACHE-2.0
- Permissive
Why it matters
We look beyond stars: what problem it solves, whether it creates real utility, and what makes its approach worth noticing.
Problem
Addresses the complexity of browser automation, web scraping, and user interaction simulation by providing a unified control interface.
Practical value
As an industry-standard tool, its mature API design is widely used in automated testing, performance monitoring, and data collection.
Innovation / differentiation
Achieves deep control over browser behavior by interfacing directly with the DevTools Protocol and WebDriver BiDi.
Leverage potential
Significantly lowers the barrier to writing browser automation scripts and serves as a core dependency for building various web interaction tools.
Why now
With the ongoing growth of automated testing and data collection needs in modern web development, this tool remains a mainstream choice.
Community activity
In the last 90 days there were 32 new issues and 269 pull requests; the bounded issue/PR samples include 25 issue authors and 22 PR contributors, with at least 23 releases.
Maintainer responsiveness
The 31-issue window sample had a 77% close rate, and the 100-pull-request sample had a 77% merge rate. Maintainer-response observations covered 45% of that issue sample, with a 14% response rate and median first response of 0.1 hours.
Key highlights
- Programmatically control Chrome and Firefox in headless or headful mode
- Interact over DevTools Protocol or WebDriver BiDi
- Provide
puppeteer-corefor using existing local browser installations
Quick start
How it is installed, how hard it is, and where to start.
Where it runs
Runs locally
Difficulty
Easy — follow the steps
- 01Install the puppeteer package via npm (downloads a compatible Chrome binary during setup):
npm i puppeteer - 02If install scripts are blocked by your package manager, download required browsers manually:
npx puppeteer browsers install - 03Import puppeteer in your Node.js script, launch a browser instance, and open a new page
- 04Use
goto()to navigate to URLs andlocator()to target DOM elements for click or fill actions - 05Call
browser.close()after execution to gracefully terminate the browser process
Best for
- Developers who want to try it on their machine
- People who prefer Docker deploys
More about it
Puppeteer is a JavaScript library providing a high-level API to automate Chrome and Firefox over the DevTools Protocol or WebDriver BiDi. By default, it runs in headless mode without a visible GUI, making it straightforward to run in server and CI environments.
With Puppeteer, developers can control page navigation, set viewports, fill forms via accessible input selectors, handle keyboard and click events, and evaluate DOM properties. In addition to the standard package that fetches browser binaries during setup, puppeteer-core is available when automatic browser downloading is not needed.
Sources
Each field shows its status and source — expand to review.
12 · Expand
Sources
Each field shows its status and source — expand to review.
capability tags
Verifiedautomation, testing
Source: admin_cms · cms editor · 8/17/2026
Latest release
Verifiedbrowsers-v3.2.3
Source: GitHub API · latest_release=browsers-v3.2.3 · 10/1/2026
License
VerifiedApache-2.0
Source: GitHub API · license.spdx_id=Apache-2.0 · 10/1/2026
needs api key
VerifiedNo
Source: admin_cms · cms editor · 8/14/2026
One-liner
Verified{"en":"A JavaScript library that provides a high-level API to control Chrome or Firefox over DevTools Protocol or WebDriver BiDi.","zh":"基于 DevTools Protocol 或 WebDriver BiDi 控制 Chrome 和 Firefox 的 JavaScript 自动化 Node.js 库。"}
Source: admin_cms · cms editor · 8/14/2026
Platforms
Verifiedwindows, macos, linux
Source: admin_cms · cms editor · 8/14/2026
Category hint
Inferred from materialsautomation
Source: Project README · hint=automation · 8/14/2026
product forms
Verifiedlibrary_framework, cli
Source: admin_cms · cms editor · 8/17/2026
role tags
Verifiedfrontend, qa, backend, fullstack
Source: admin_cms · cms editor · 8/17/2026
supports docker
VerifiedYes
Source: Repository file · dockerfile=true; compose=false · 10/1/2026
supports local
VerifiedYes
Source: admin_cms · cms editor · 8/14/2026
supports self host
VerifiedNo
Source: admin_cms · cms editor · 8/14/2026
Related projects
Other verified projects matched by category, capabilities, and intended roles.
playwright
A cross-browser automation framework for testing and AI agent control, supporting Chromium, Firefox, and WebKit.
Flare
A graph-first IDE for agentic coding featuring a live codebase map, integrated terminal, and MCP task collaboration.
massing
Open-source, self-hosted, IFC-native AEC platform featuring in-browser BIM modeling, a general contractor portal, and development proforma tools.
atrophy
Quantify and track your coding skill decay caused by AI reliance through regular, unaided programming drills.
compose
Docker’s official CLI tool for defining and running multi-container applications from a Compose file.
WSL
Windows Subsystem for Linux allows you to run Linux command-line tools and applications directly on Windows without the overhead of a traditional virtual machine.
