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 DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PC×
Skip to content
World desk5 min

Puppeteer vs. Puppeteer Core: What’s the Difference?

Puppeteer downloads a compatible browser by default; Puppeteer Core does not. Here’s how to choose, launch each package, and fix common Chrome setup issues.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

puppeteer is the higher-level package: a standard install downloads a compatible browser so you can start automating with fewer setup decisions. puppeteer-core provides the same Puppeteer automation API without downloading Chrome; choose it when you will manage the browser yourself or connect to a remote one.

What differs between the packages?

The key difference is browser installation and management, not a separate automation API. Both packages let you launch or connect to a browser, create pages, and control them through Puppeteer. The regular package supplies a managed-browser default; Core leaves browser selection and provisioning to your application.

As an Amazon Associate I earn from qualifying purchases.

Question puppeteer puppeteer-core
What is it for? End-user automation with reasonable defaults. A library for controlling a browser through the programmatic API.
Does installation download a browser? Normally downloads a supported Chrome for Testing build and a headless-shell binary. No. It does not automatically download Chrome.
Who manages the browser? Puppeteer provides a convenient default browser setup, which can be customized. You or your application must supply or manage a browser, or connect to a remote one.
What is needed to launch? Usually no browser path is needed when using its downloaded browser. Specify executablePath or channel when launching, or provide a valid endpoint when connecting remotely.
Typical fit A local project where Puppeteer’s downloaded browser is acceptable. A project with an already installed, provisioned, or remote browser.

The official installation guide describes Core as appropriate for users connecting to a remote browser or managing browsers themselves.

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

Which package should you use?

Choose puppeteer for the straightforward default

Use the regular package if you want a local setup that installs a compatible browser as part of the normal Puppeteer installation flow. That reduces the browser-management work you need to do before running an automation script.

Choose puppeteer-core when browser management is yours

Core is the better fit if your app provisions a browser, uses a browser already installed in its environment, or connects to a remote browser. You must ensure the selected browser is available and compatible, and provide the launch path or channel when launching locally. For remote use, use a valid browser endpoint and the appropriate connection method.

Install and run a basic script

Install the package that matches your setup:

npm install puppeteer

Or install Core if you provide the browser yourself:

npm install puppeteer-core

The page workflow is otherwise shared. The official getting-started guide demonstrates the same general workflow with either package. For Core, the launch call must identify a browser; replace the example path with the executable available in your environment.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
import puppeteer from 'puppeteer';

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();
}

With Core and a locally managed Chrome executable:

import puppeteer from 'puppeteer-core';

const browser = await puppeteer.launch({
  executablePath: '/path/to/chrome',
  headless: true,
});
try {
  const page = await browser.newPage();
  await page.goto('https://example.com');
  console.log(await page.title());
} finally {
  await browser.close();
}

The launch API supports browser-selection options; check the launch method reference for the installed release and its compatibility requirements. The path above is an example, not a universal Chrome location.

Browser versions and compatibility

Puppeteer releases are paired with browser versions. That pairing helps avoid unexpected automation breaks when Chrome DevTools Protocol or WebDriver BiDi behavior changes. Do not assume a browser version supported by one Puppeteer release will match another; check the supported browsers table for the version installed in your project.

At the time of the Puppeteer documentation snapshot reflected in this article, the support page identified Puppeteer v25.12.0 with Chrome for Testing 154.0.8037.57 and Firefox 156.0.1. Those are version-specific mappings, not permanent guarantees. The FAQ says Puppeteer v23.0.0 onward supports Chrome and Firefox, with CDP used by default for Chrome and WebDriver BiDi by default for Firefox; feature support can differ by protocol, so consult the relevant protocol documentation before relying on a particular behavior.

The documented system requirements list Node 22.12+ and TypeScript 5.0.1+ when using TypeScript. Requirements are release-sensitive; verify the system requirements for your installed version.

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.

Why can’t Puppeteer find Chrome?

A common cause is an installation environment that blocks package lifecycle scripts. Puppeteer’s normal browser download can be skipped in that case, leaving the package installed but no browser available at runtime.

  1. Check the package manager’s install-script policy. If scripts are disabled or blocked, allow Puppeteer’s postinstall script according to that package manager’s configuration.
  2. Install the browser manually. The official installation guide documents npx puppeteer browsers install as a remedy when the automatic download did not run.
  3. For Core, provide the browser explicitly. Core intentionally does not download Chrome, so set executablePath or channel for a local launch, or use a valid remote browser endpoint.
  4. Confirm the browser matches the Puppeteer release. Compare your package version with the official supported-browser table rather than assuming any locally installed Chrome is compatible.

See the installation guide for package-manager and browser-installation details.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Configuration differences to verify

Puppeteer has configuration files and environment options, but the configuration page in the Next documentation channel says those are ignored by puppeteer-core. Because that page is not the stable documentation channel, verify the behavior against the documentation for your installed release before depending on it: Puppeteer configuration.

Or skip the browser setup

If your goal is to get a website screenshot rather than build browser automation, ScreenshotNeo offers a website screenshot API and MCP server. A single request can return an image or PDF without you provisioning Puppeteer or a browser:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

See the ScreenshotNeo API documentation for request options. Cookie banners, popups and chat widgets are removed before the shot; bot checks, blank pages and failed loads are never billed. Its MCP server lets AI agents take screenshots, and 1,000 screenshots a month are free with no card; paid plans start at $5 for 3,000. Sign up for ScreenshotNeo’s free plan.

Frequently Asked Questions

Do Puppeteer and Puppeteer Core use different automation APIs?

They share Puppeteer’s browser automation workflow; the principal difference is whether the package supplies the browser-installation default.

Best Value
The SQL Programming Language: .
  • Used Book in Good Condition

Does Puppeteer Core install Chrome?

No. Core does not automatically download Chrome; provide a browser or connect to one.

Can I use Puppeteer Core with a remote browser?

Yes. Core is intended for that use case, provided you connect using a valid browser endpoint.

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.

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.