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.

Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.

Install Puppeteer in a Windows project with npm i puppeteer. The regular puppeteer package normally downloads a compatible Chrome for Testing browser during installation. You can then launch it from Node.js with puppeteer.launch(). If your package manager blocked install scripts and Chrome is missing, run npx puppeteer browsers install.

What you need before installing

  • Windows with a user account that can create files and run Node.js commands.
  • Node.js and npm installed and available in PowerShell or Command Prompt. Verify with node --version and npm --version.
  • A project directory in which you can install dependencies.

Puppeteer is a Node.js library, so it is installed per project rather than as a separate Windows application.

Install Puppeteer in a Windows project

  1. Create or open the project folder

    In PowerShell, make a folder and enter it, or change to an existing application directory:

    Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
    mkdir puppeteer-windows-demo
    cd puppeteer-windows-demo
  2. Initialize npm (if this is a new project)

    npm init -y

    This creates package.json. Skip this step if the project already has one.

    #1 Best Overall
  3. Install the end-user package

    npm i puppeteer

    puppeteer includes browser-management defaults. During installation it normally downloads a recent Chrome for Testing browser. The download can be large, so keep the terminal open until npm finishes.

  4. Confirm that the package is present

    npm list puppeteer

    The output should show Puppeteer under your project. A successful npm install does not always prove that the browser download completed; test a launch next.

Run your first Windows screenshot script

Create a file named shot.js in the project directory:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({ headless: true });
  try {
    const page = await browser.newPage();
    await page.goto('https://example.com', {
      waitUntil: 'networkidle2',
      timeout: 30_000
    });
    await page.screenshot({ path: 'example.png', fullPage: true });
    console.log('Saved example.png');
  } finally {
    await browser.close();
  }
})().catch(error => {
  console.error(error);
  process.exitCode = 1;
});

Run it with:

node shot.js

A successful run writes example.png next to the script. The finally block closes Chrome even when navigation or capture fails, which prevents orphaned browser processes in repeated jobs.

What gets installed, and where

The puppeteer package installs the JavaScript library and manages a compatible Chrome for Testing binary. Puppeteer stores downloaded browsers in a cache directory by default. If your machine has limited space or a build agent uses a writable workspace, set a different cache location with PUPPETEER_CACHE_DIR before installing, or configure cacheDirectory in Puppeteer’s configuration file.

Rank #2
Dell Latitude 3190 11.6" HD 2-in-1 Touchscreen Laptop Intel N5030 1.1Ghz 4GB Ram 128GB SSD Windows 11 Professional (Renewed)
  • 1.1 GHz (boost up to 2.4GHz) Intel Celeron N5030 Quad-Core
  • 4GB DDR4 System Memory; 128GB Solid State Drive
  • 11.6" HD (1366 x 768) Multi-Touch Display
  • Combo headphone/microphone jack - Noble Wedge Lock slot - HDMI; 2 USB 3.1 Gen 1
  • Windows 11 Pro

After changing download-related configuration, reinstall so the browser is placed in the new location. The Windows account that runs Node must be able to read that directory.

Fix “Chrome not found” after npm install

The most common cause is an install policy that blocks dependency scripts. npm can finish writing the package while Puppeteer’s browser-download step never runs.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  1. From the project directory, run:
npx puppeteer browsers install
  1. Run the test again:
node shot.js

If the command still cannot download a browser, review your package-manager policy and permit Puppeteer’s install script for this project. In controlled corporate environments, a security policy, proxy, or permissions rule may also prevent the download. Check that the cache directory exists and is readable by the account launching Node.

Choose between puppeteer and puppeteer-core

Package Who manages Chrome Automatic browser download Launch requirement Best fit
puppeteer Puppeteer’s browser-management defaults Normally yes Usually no explicit path Applications that want the standard, compatible setup
puppeteer-core Your project or operating environment No Provide executablePath or a standard channel Teams supplying their own Chrome or Chromium

Install the managed package with:

npm i puppeteer

Use the library-only package when your deployment already controls the browser:

npm i puppeteer-core

With puppeteer-core, launch by pointing to the executable you manage:

Rank #3
Dell Latitude 5420 14" FHD Business Laptop Computer, Intel Quad-Core i5-1145G7, 16GB DDR4 RAM, 256GB SSD, Camera, HDMI, Windows 11 Pro (Renewed)
  • 256 GB SSD of storage.
  • Multitasking is easy with 16GB of RAM
  • Equipped with a blazing fast Core i5 2.00 GHz processor.
const puppeteer = require('puppeteer-core');

(async () => {
  const browser = await puppeteer.launch({
    headless: true,
    executablePath: 'C:\Program Files\Google\Chrome\Application\chrome.exe'
  });
  await browser.close();
})();

The exact path differs by Windows installation and user. A standard installed browser can also be selected with a supported channel launch option instead of a hard-coded path. Do not choose puppeteer-core merely to avoid a download: you then own browser installation, version updates, permissions, and compatibility.

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

Install a specific Chrome for Testing channel

If you intentionally manage the browser binary but still want Puppeteer’s browser installer, install a channel explicitly:

npx @puppeteer/browsers install chrome@stable

Use this approach when your build process pins browser installation separately from the npm dependency. Keep the resulting cache available to the account that runs your script.

Windows launch problems and precise fixes

Chrome policy prevents launch

Some managed Windows environments enforce Chrome extension policies. If policy restrictions are the reason launch fails, try Puppeteer’s documented enableExtensions: true launch option. Apply it only when the policy-related error calls for it.

Access-denied or sandbox permissions

Current Puppeteer versions attempt to configure permissions for downloaded Chrome on Windows. If an older version or a failing environment reports an access-denied sandbox error, repair permissions on the downloaded Chrome directory using Windows’ icacls procedure, then retry as the same account that runs Node. Avoid broad permission changes on unrelated folders.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #4
15.6 Inch Laptop Computer, N4020, 4GB DDR4 RAM, 128GB eMMC,with Windows 11
  • EFFORTLESS EVERYDAY PERFORMANCE: Powered by Intel Celeron N4020 processor and Windows 11 Home system, delivering reliable, low-power efficiency for daily tasks like document editing, email, online classes, and web browsing
  • 15.6-INCH FULL HD DISPLAY: Enjoy immersive visuals on the 15.6" FHD (1920x1080) anti-glare screen with micro-edge bezels. Delivers clear details and comfortable viewing for long study sessions, working on spreadsheets, and video playback
  • RESPONSIVE MULTITASKING & STORAGE: Built with 4GB LPDDR4 RAM and 128GB eMMC storage for smooth daily essential use. Expand your storage by up to 1TB via the integrated TF card slot to easily store movies, photos, and working files
  • ADVANCED CONNECTIVITY: Outfitted with 2x Full-Featured Type-C ports for data transfer, fast charging, and dual-monitor output, alongside 2x USB 3.2 Gen1 ports and a 3.5mm audio jack for complete peripheral compatibility
  • LIGHTWEIGHT & SILENT OPERATION: Slim and portable for effortless travel or commuting. Features a 1MP HD webcam for remote meetings, 38Wh battery with 45W Type-C fast charging, and a fanless silent design for peaceful work environments.

Browser downloaded but cannot be read

Inspect the configured cache path, confirm that it exists, and verify that the service account, scheduled task, or terminal user has read and execute access. A browser downloaded under one Windows profile may not be usable by another profile when the cache is private.

Navigation times out

A browser can launch correctly while a page still fails to load. Check the URL, proxy and firewall rules, then increase the navigation timeout only when the target is legitimately slow:

await page.goto('https://example.com', {
  waitUntil: 'domcontentloaded',
  timeout: 60_000
});

Use networkidle2 for pages that need most network requests settled, but remember that analytics, live feeds, and other long-lived requests can delay that condition.

Blank or incomplete screenshots

Wait for the content that matters rather than relying only on a fixed delay:

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.
await page.goto('https://example.com', { waitUntil: 'domcontentloaded' });
await page.waitForSelector('main', { timeout: 30_000 });
await page.screenshot({ path: 'page.png', fullPage: true });

For lazy-loaded pages, scroll or wait for the application’s own ready signal before capturing. A screenshot taken before client-side rendering finishes can be valid but visually incomplete.

Best Value
Sale
15.6 Inch Win 11 Laptop Computer, N4020, 4GB DDR4 RAM, 128GB Storage
  • WINDOWS 11 | STABLE PERFORMANCE: Powered by Intel Celeron N4020 processor and Windows 11 system, this laptop delivers stable performance for everyday computing tasks. It supports web browsing, online learning, document editing, email communication, and basic office work with optimized power efficiency, providing a practical and reliable experience for essential daily use for daily use.
  • 15.6” FHD IPS DISPLAY: Features a 15.6-inch Full HD IPS display with narrow bezels, offering wider viewing angles and clearer image details compared to standard panels. The improved screen-to-body ratio enhances visual experience for study, reading, document work, and video playback, making it suitable for both productivity and entertainment use.
  • 4GB DDR4 + 128GB eMMC STORAGE: Equipped with 4GB DDR4 memory and 128GB eMMC storage for everyday basics such as browsing, documents, email, and online learning platforms. The built-in TF card slot supports storage expansion up to 1TB, giving you more flexibility for files, photos, videos, and daily documents. TF card not included.
  • CONNECTIVITY & PORTS: Includes 1× TF card slot, 2× USB 3.2 Gen1 ports, and 2× full-featured Type-C ports (USB 3.2 Gen1). The Type-C ports support data transfer, charging, and video output, enabling flexible connection with external devices such as monitors, storage, and peripherals for daily work and study use.
  • LIGHTWEIGHT DESIGN | ONLINE COMMUNICATION: Designed with a slim, portable profile, this laptop is easy to carry for school, commuting, and travel. A built-in 1MP front camera supports online classes, video meetings, remote communication, and everyday conferencing. The 3300mAh battery works with the low-power system design to support practical daily use, while thermal optimization helps maintain quieter operation during extended tasks.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Make installation repeatable in teams and CI

  • Commit package-lock.json and use npm ci in clean builds so the dependency tree is reproducible.
  • Cache Puppeteer’s browser directory in CI, or run npx puppeteer browsers install during provisioning when the cache is intentionally ephemeral.
  • Keep the cache path on a writable local or workspace volume, not a location restricted by Windows policy.
  • Run the smoke test after dependency installation and fail the job if Chrome cannot launch.
  • Close every browser in a finally block and set explicit navigation timeouts.

When a build uses puppeteer-core, provision Chrome separately and pin the executable or channel as part of the build configuration. This makes ownership clear but shifts updates and compatibility checks to your team.

Performance, reliability and cost considerations

Browser startup is usually more expensive than opening a new page in an already-running browser. For a batch, launch one browser and create or close pages per URL, while limiting concurrency to the memory available on the Windows host. Reuse the downloaded browser cache across runs, but refresh it deliberately when upgrading Puppeteer or changing the browser channel.

Full-page screenshots can consume substantial memory on long documents. Capture a specific element when that is all you need, and choose an image format and viewport appropriate to the output. Treat third-party pages as untrusted: do not expose secrets in page scripts, cookies, or custom headers, and isolate jobs that visit user-supplied URLs.

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

Or skip the browser setup

If your goal is a reliable website image rather than maintaining Chrome on Windows, ScreenshotNeo provides a single HTTP request. It accepts a URL and returns PNG, JPEG, WebP, or PDF. Before capture it accepts cookie or consent banners and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each cleanup step can be disabled. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and the response identifies the page verdict and billing result in X-Page-Verdict and X-Billed headers.

cURL:

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

Python:

import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
r.raise_for_status()
open("shot.webp", "wb").write(r.content)

Node.js:

const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
if (!res.ok) throw new Error(`${res.status} ${res.statusText}`);
const fs = await import('node:fs/promises');
await fs.writeFile('shot.webp', Buffer.from(await res.arrayBuffer()));

See the ScreenshotNeo documentation for the full request options. It also offers an MCP server with take_screenshot, get_page_info, and capture_pdf tools for Claude, Cursor, and other MCP clients. Features include device presets, arbitrary viewports, retina scale, selectors, dark mode, custom CSS and JavaScript, clicks, waits, request blocking, headers, cookies, user agents, timezone and geolocation, transparent backgrounds, resizing, TTL caching, signed links, asynchronous webhooks, bulk capture of up to 100 URLs per call, a usage API, and an OpenAPI specification.

The Free plan includes 1,000 screenshots per month with no card. Paid plans start at $5 for 3,000 shots; every feature is included on every plan. Create a free ScreenshotNeo account to start.

Quick decision checklist

  • Choose puppeteer when you want Puppeteer to download and manage a compatible browser.
  • Run npx puppeteer browsers install when installation scripts were blocked.
  • Choose puppeteer-core only when your project deliberately supplies Chrome or Chromium.
  • Set and verify a shared cache path when multiple Windows users or CI jobs run the code.
  • Use a managed screenshot API when maintaining a local browser is unnecessary.

Frequently Asked Questions

Does installing Puppeteer install Google Chrome for normal browsing?

The package normally downloads a Chrome for Testing browser for Puppeteer’s automation; it is not the same as installing the consumer Chrome application for everyday browsing.

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

Can I use my existing Chrome installation?

Yes. Use puppeteer-core and provide its executable path, or use a standard channel launch option when the browser is installed in a recognized location.

Why did npm report success but Puppeteer still fail?

A package-manager policy may have blocked Puppeteer’s install script. Run npx puppeteer browsers install, then verify the cache permissions and launch again.

Quick Recap

Bestseller No. 1
HP 14' HD Laptop, Windows 11, Intel Celeron Dual-Core Processor Up to 2.60GHz, 4GB RAM, 64GB SSD, Webcam, Dale Pink (Renewed)
HP 14" HD Laptop, Windows 11, Intel Celeron Dual-Core Processor Up to 2.60GHz, 4GB RAM, 64GB SSD, Webcam, Dale Pink (Renewed)
14" diagonal, 1366x768 resolution, HD BrightView LED, Glossy NON-TOUCH Display
$247.99
Bestseller No. 2
Dell Latitude 3190 11.6' HD 2-in-1 Touchscreen Laptop Intel N5030 1.1Ghz 4GB Ram 128GB SSD Windows 11 Professional (Renewed)
Dell Latitude 3190 11.6" HD 2-in-1 Touchscreen Laptop Intel N5030 1.1Ghz 4GB Ram 128GB SSD Windows 11 Professional (Renewed)
1.1 GHz (boost up to 2.4GHz) Intel Celeron N5030 Quad-Core; 4GB DDR4 System Memory; 128GB Solid State Drive
Bestseller No. 3
Dell Latitude 5420 14' FHD Business Laptop Computer, Intel Quad-Core i5-1145G7, 16GB DDR4 RAM, 256GB SSD, Camera, HDMI, Windows 11 Pro (Renewed)
Dell Latitude 5420 14" FHD Business Laptop Computer, Intel Quad-Core i5-1145G7, 16GB DDR4 RAM, 256GB SSD, Camera, HDMI, Windows 11 Pro (Renewed)
256 GB SSD of storage.; Multitasking is easy with 16GB of RAM; Equipped with a blazing fast Core i5 2.00 GHz processor.
$289.99

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.