Driver FixRecommendedSound, Wi-Fi or graphics acting up? Check drivers firstFind missing or outdated drivers fast.Check DriversOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsClean PCRecommendedOne scan can reveal what keeps slowing WindowsLook for cleanup and repair opportunities.Run Scan×
Skip to content
World desk6 min

Puppeteer System Requirements: Node.js, Browsers, and Linux Dependencies

Puppeteer 25.12.0 requires Node.js 22.12 or later. Learn which platforms and browsers are documented, what Linux dependencies to check, and how to fix common install and launch failures.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Puppeteer 25.12.0 requires Node.js 22.12 or later. If you use TypeScript, the documented minimum is 5.0.1, and you need an ES2022-or-later target when type-checking node_modules. The supported operating system and architecture depend on the browser you install; Linux also needs compatible system libraries. These requirements reflect the official Puppeteer documentation checked on October 3, 2026, and can change with later releases.

Runtime and platform requirements

Puppeteer is a Node.js library that controls a browser. For Puppeteer 25.12.0, the official system requirements specify:

As an Amazon Associate I earn from qualifying purchases.

  • Node.js: version 22.12 or later.
  • TypeScript, if used: version 5.0.1 or later. Set the target to ES2022 or newer if your type-checking process includes node_modules.
  • Chrome for Testing targets: Windows x64; macOS x64 and arm64; Debian/Ubuntu Linux x64 and arm64; and openSUSE/Fedora Linux x64 and arm64.

The listed platforms are not a guarantee for every operating system, Linux distribution, or architecture. Puppeteer’s requirements page does not establish minimum CPU speed, RAM, or free disk space; check the needs of your workload and deployment image rather than treating an arbitrary hardware figure as an official minimum.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Check your Node.js version

Run node --version. The result must be v22.12.0 or newer for Puppeteer 25.12.0. If it is older, install a supported Node.js release and check the version again before installing Puppeteer.

Choose the package and install the browser

For the standard setup, install puppeteer. It downloads a compatible Chrome for Testing build and chrome-headless-shell by default, then uses puppeteer-core to control the browser. The official installation guide records approximate Chrome for Testing download sizes of 170 MB on macOS, 282 MB on Linux, and 280 MB on Windows. These are approximate download sizes, not a total installed-space requirement.

  1. Check Node: node --version.
  2. Install the package: run npm install puppeteer in your project.
  3. Allow the install script: ensure your package manager has not blocked Puppeteer’s browser download.
  4. Run a small launch test: use the example below and confirm it prints the page title.
const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  try {
    const page = await browser.newPage();
    await page.goto('https://example.com');
    console.log(await page.title());
  } finally {
    await browser.close();
  }
})();

The default browser cache is $HOME/.cache/puppeteer (documented as the default from Puppeteer v19.0.0 onward). Account for the download and cache in build, container, and CI environments.

When to use puppeteer-core

puppeteer-core does not download Chrome. Choose it when you manage a DevTools Protocol-compatible browser separately, then provide its executable path or an applicable browser channel in your launch configuration. You are responsible for keeping that browser available and compatible with the Puppeteer version you run.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Match Puppeteer to a supported browser

The supported-browser table maps Puppeteer 25.12.0 to Chrome for Testing 154.0.8037.57 and Firefox 156.0.1. These are compatibility identifiers, not performance claims. Check the supported browsers table for the version you actually installed: browser compatibility changes across Puppeteer releases. The documentation says Chrome for Testing has been the default Chrome family since Puppeteer 20, and stable Firefox support began with Puppeteer 23.

If the table does not list an exact browser version for your Puppeteer release, its guidance is to use the supported browser version associated with the immediately prior Puppeteer version. For the least ambiguous setup, use the browser version managed by the matching Puppeteer installation rather than substituting an unrelated system browser.

Linux libraries, profiles, and containers

A Linux machine can meet the Node.js requirement and still fail to start Chrome because shared libraries or fonts are missing. The Puppeteer troubleshooting guide names common GTK, NSS, GBM, X11, font, and xdg-utils dependencies, but the exact packages vary by distribution and base-image release. Use Chromium’s current Debian or RPM package manifests linked from the requirements page rather than assuming one install command fits every Linux system.

Find missing shared libraries

On a Linux host, locate the Chrome executable installed by Puppeteer, then inspect its library links:

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
ldd /path/to/chrome | grep not

Any reported missing library points to a host dependency to install for that distribution. Re-run the check and launch test after adding dependencies. Puppeteer’s troubleshooting page also notes that Chrome needs a writable user-data directory; its default temporary profile or a configured userDataDir must be writable by the process running the browser.

Alpine and Docker

Chrome does not support Alpine out of the box, according to Puppeteer’s troubleshooting documentation. An Alpine image therefore needs compatible dependencies and validation in the actual target environment; do not assume that installing the Node package alone is enough.

If you prefer a packaged browser environment, Puppeteer’s official Docker guide documents an image containing Chrome for Testing, required dependencies, and a preinstalled Puppeteer version. Follow the live guide for current image tags and runtime instructions, and ensure the container’s user can write to the browser profile directory.

The @puppeteer/browsers documentation also covers browser installation tooling. Its documented requirements include compatible Node.js and archive extraction tools (including unzip for Chrome on Linux/macOS and tar.exe on Windows). Its CLI can install Chrome dependencies on Debian/Ubuntu, but that operation requires root privileges.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Troubleshooting install and launch failures

“Could not find Chrome” after installing Puppeteer

A package manager may have blocked Puppeteer’s install script, so the package was installed but its automatic browser download did not run. Allow the Puppeteer install script in your package-manager configuration, or install the browser manually:

npx puppeteer browsers install

Then rerun the launch test.

Chrome fails to launch on Linux

Missing shared libraries are a common cause. Check the Chrome executable with ldd, install the missing packages using the manifest for your distribution and release, and try again. Also verify that the process has a writable browser profile directory. On Alpine, validate the compatibility dependencies explicitly because Chrome is not supported there out of the box.

Browser download fails or the environment cannot download it

Check whether the package manager permitted install scripts and whether your build environment can retrieve the browser archive. If you use puppeteer-core, remember that no browser download is expected: provision a compatible browser yourself and configure its executable path or channel.

Your browser version differs from the documented mapping

Confirm the installed Puppeteer version and compare it with the official compatibility table. A browser mismatch can cause behavior that is difficult to diagnose as a system-dependency issue. Prefer the paired version for that release, or follow the table’s immediately-prior-release guidance when an exact entry is unavailable.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Or skip the browser setup

If you need a website screenshot rather than browser automation, ScreenshotNeo provides a screenshot API and MCP server. It can return a PNG, JPEG, WebP, or PDF from one request. This avoids installing and maintaining a local Puppeteer browser for the screenshot task; it is not a replacement for Puppeteer when your application needs general browser automation.

For setup details and supported parameters, see the ScreenshotNeo documentation. This cURL example saves a WebP screenshot of the target page:

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com -o shot.webp

ScreenshotNeo accepts cookie or consent banners before capture and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each cleanup step can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers identify the page verdict and billing status. Its MCP server offers take_screenshot, get_page_info, and capture_pdf for AI agents and other MCP clients. The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 shots.

Sign up for ScreenshotNeo’s free plan: 1,000 screenshots a month, no card required.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Frequently Asked Questions

Where can I find Puppeteer’s official answer to test-environment install problems?

The Puppeteer FAQ includes the question “I am having trouble installing / running Puppeteer in my test environment.”

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.