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.

Chrome Headless is Google Chrome running without a visible browser window. It is still browser software: it loads pages, executes JavaScript, applies cookies and storage, paints a page, and exposes automation controls, but it does so in an unattended environment such as CI, a server, or a container. You can start it with the --headless command-line flag or control it through Puppeteer and Selenium.

Since Chrome 112, the default unified Headless mode uses the regular Chrome browser code and creates platform windows that are not displayed. The older implementation became a separate chrome-headless-shell binary beginning with Chrome 132.0.6793.0. That distinction matters when you choose between browser fidelity and a smaller runtime.

What Chrome Headless actually does

A normal Chrome session has a visible window, tabs, menus and a user who can interact with them. Headless Chrome removes the visible interface, not the browser engine. Chrome still performs navigation, networking, HTML parsing, CSS layout, JavaScript execution, rendering and DevTools Protocol operations.

The host does not need a physical monitor. Headless Chrome can use a configurable virtual screen whose dimensions are independent of displays attached to the machine. This lets an automated run choose a repeatable viewport for screenshots or responsive-layout tests.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
HP 14" HD Chromebook Laptop for Students, Intel Quad-Core N4120(> N4020), 4GB RAM, 64GB eMMC, WiFi, Webcam, HDMI, USB-A&C, 14 Hours Battery Life, Zoom, Chrome OS, CUE Accessories
  • Intel Celeron N4120: 4 Cores & Threads, 1.1GHz Base Clock, Up to 2.6GHz Boost Clock, 4MB Cache, Intel UHD Graphics 600. The perfect combination of performance, power consumption, and value helps your device handle multitasking smoothly and reliably with four processing cores to divide up the work.
  • 14" HD Display: 14.0-inch diagonal, HD (1366 x 768), micro-edge, anti-glare. See your digital world in a whole new way. Enjoy movies and photos with the great image quality and high-definition detail of 1 million pixels.
  • Memory & Storage: 4 GB LPDDR4x & 64 GB eMMC Storage. Adequate high-bandwidth RAM to smoothly run multiple applications and browser tabs all at once. An embedded multimedia card provides reliable flash-based storage.
  • Ports:2 x USB 3.0 Type-A,1 x USB 3.0 Type-C,1 x HDMI,1 x Headphone Jack
  • Chrome OS: Chromebook is a computer for the way the modern world works, with thousands of apps. Enjoy the seamless simplicity that comes with Google Chrome and Android apps, all integrated into one laptop. It’s fast, simple, and secure.

“Headless” therefore describes how Chrome is presented and operated, not a different web protocol or a special kind of website. A page can still detect automation, require authentication, show a consent dialog or fail to load for ordinary network reasons.

Unified Headless versus the old Headless implementation

Option Browser code and fidelity Dependencies and footprint Best fit
Unified Headless (--headless or --headless=new) Uses the regular Chrome browser code and the same general code path as visible Chrome. It is the closer match for end-to-end behavior, extensions and browser-fidelity testing. Includes the normal Chrome browser stack. Tests where matching a user’s Chrome behavior matters.
Headless Shell (chrome-headless-shell) A separate, lightweight wrapper around Chromium’s //content module rather than the complete Chrome browser. Fewer dependencies; Chrome documents that it does not require X11/Wayland or D-Bus. Constrained screenshotting, scraping and other jobs where a smaller runtime is more important than full Chrome fidelity.

Chrome 132.0.6793.0 removed the former implementation from the main Chrome binary. In Chrome 132 and later, --headless=old reports an error instead of launching it. Use unified Headless with --headless (or --headless=new), or install the standalone shell when you specifically need the old implementation.

Start Chrome Headless from the command line

The exact executable name depends on your operating system and installation. Substitute the path to your Chrome binary and an output path that your account can write.

Linux

google-chrome --headless --disable-gpu --no-sandbox --window-size=1440,900 --screenshot=/tmp/page.png https://example.com

macOS

"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --headless --window-size=1440,900 --screenshot="$PWD/page.png" https://example.com

Windows PowerShell

& "C:Program FilesGoogleChromeApplicationchrome.exe" --headless --window-size=1440,900 --screenshot="$PWDpage.png" https://example.com

--screenshot writes a rendered PNG, while --window-size controls the initial virtual viewport. In a container running as root, Chromium-based browsers often require --no-sandbox; prefer running as an unprivileged user instead, and only use that flag when your deployment’s isolation model makes the trade-off acceptable. The --disable-gpu flag is commonly used in server examples, but whether it is needed depends on the platform and Chrome build.

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

For a text result, add --dump-dom. For a PDF, use --print-to-pdf=output.pdf. These command-line operations are one-shot processes: Chrome starts, navigates, performs the requested action and exits.

Use Headless through Puppeteer

Puppeteer starts and controls Chrome through the Chrome DevTools Protocol. Its documented modes are:

  • headless: true for current unified Chrome Headless.
  • headless: 'shell' for the Headless Shell binary when Puppeteer is configured to use it.
  • headless: false for a visible browser, useful while debugging selectors and timing.
import puppeteer from 'puppeteer';

const browser = await puppeteer.launch({
  headless: true,
  defaultViewport: { width: 1440, height: 900, deviceScaleFactor: 1 }
});

try {
  const page = await browser.newPage();
  await page.goto('https://example.com', {
    waitUntil: 'networkidle2',
    timeout: 45_000
  });
  await page.screenshot({ path: 'page.png', fullPage: true });
} finally {
  await browser.close();
}

Use waitUntil and an explicit timeout that fit the site. “Network idle” is not a guarantee that every late animation or lazy image is finished; for those pages, wait for a meaningful selector or add a short, bounded delay after the network settles.

Use Headless through Selenium

Selenium WebDriver passes Chrome options to the browser. The essential option is --headless; the driver and browser versions must be compatible with the Selenium setup you deploy.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_argument("--headless")
options.add_argument("--window-size=1440,900")

driver = webdriver.Chrome(options=options)
try:
    driver.get("https://example.com")
    driver.save_screenshot("page.png")
finally:
    driver.quit()

During investigation, remove the headless option to see the page and inspect the failing navigation. Restore it for CI after the behavior is understood.

Virtual screens and viewport control

Headless Chrome can start with virtual-screen information using --screen-info. While it is running, the Chrome DevTools Protocol provides Emulation.addScreen and Emulation.removeScreen to add or remove virtual displays. Puppeteer documents support for this feature.

Rank #3
ASUS 2026 15" FHD IPS Chromebook, Intel Processor Up to 2.80GHz, 4GB DDR4, 128GB Storage, HDMI, Super-Fast WiFi, Chrome OS, Pastel Silver (Renewed)
  • Intel Processor Up to 2.80GHz, 4GB DDR4, 128GB Storage
  • 15" FHD IPS Display, Intel UHD Graphics
  • 1x USB Type C, 1 x USB Type A, 1x Headphone/Microphone Combo Jack, HDMI
  • Fast WiFi and Bluetooth, Integrated Webcam
  • Chrome OS, AC Charger Included, Pastel Silver

Do not confuse a screen with a viewport. A screen represents a virtual display; the viewport is the page area used for layout. Set viewport width, height and device scale factor in your automation framework, then verify the resulting screenshot at the breakpoints your application supports.

A practical Headless workflow

  1. Select the binary. Use unified Chrome when you need the closest match to a user’s browser, extension behavior or full browser features. Select chrome-headless-shell when lower dependencies are the priority.
  2. Make the environment repeatable. Pin the Chrome version in CI, set an explicit viewport and timezone where your framework allows it, and use a predictable user data directory for isolated jobs.
  3. Navigate with a bounded timeout. Treat navigation, selector waits and screenshot generation as separate operations so a single stalled resource does not hang the entire worker.
  4. Capture or inspect. Save a screenshot, PDF or DOM output, or run assertions through Puppeteer/Selenium.
  5. Collect diagnostics. Record the URL, browser version, viewport, console errors and whether the timeout occurred before or after navigation.
  6. Close the browser. Always call browser.close() or driver.quit(), including failure paths, to avoid orphaned Chrome processes.

Common failures and fixes

“Chrome cannot be found”

Your framework is not pointed at an installed browser. Install a compatible Chrome/Chromium build or provide its executable path in the framework configuration. In CI, print the resolved path and version before launching.

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.

The process exits immediately in a container

Check the sandbox and shared-memory configuration. Running as a non-root user is safer. If the container is intentionally isolated and runs as root, --no-sandbox may be required; increase shared memory or configure a suitable temporary directory when the browser reports resource errors.

A blank or partial screenshot

The capture may occur before client-side rendering or lazy images complete. Wait for a page-specific selector, use a bounded delay after navigation, and confirm that the target resources are reachable from the worker. A larger viewport can also reveal responsive content that is hidden at mobile widths.

--headless=old no longer works

That behavior is expected on Chrome 132 and later. Use unified --headless or install and invoke the standalone chrome-headless-shell binary.

Rank #4
Lenovo Chromebook 2-in-1 - Lightweight Laptop - Google Gemini - Intel® N150 CPU - 14" WUXGA IPS Touchscreen Display - 4GB RAM - 128GB UFS Storage - Integrated Intel® Graphics - Luna Grey
  • THE BETTER WAY TO LAPTOP – Imagine a Chromebook that’s as flexible as your day: thin and lightweight with built-in Google apps and stress-free security.
  • TAKE HITS KEEP MOVING – Sleek, light, and built to last- the Chromebook 2-in-1 is just 0.69” thick and 3.3lbs. Enjoy long-lasting battery life, fast charging, and military-grade durability for nonstop productivity wherever life takes you.
  • PERFORMANCE THAT MATCHES YOUR HUSTLE – Fuel your ideas with an Intel Core processor and 128GB storage. Boot up in under 10 seconds to start the day powerfully efficient.
  • FLEX YOUR CREATIVITY ANYWHERE, ANYTIME – Create, work, or unwind your way with a versatile 2-in-1 design. Flip easily between laptop, tent, and tablet modes with a responsive touchscreen built for flexibility.
  • BRILLIANT VIEWS AND IMMERSIVE AUDIO – See, hear, and create with awesome clarity. The WUXGA display brings rich detail to your work and play, while audio tuned by Waves MaxxAudio provides immersive, balanced sound.

Results differ between visible and Headless runs

Compare Chrome versions, viewport and device scale factor, timezone, locale, fonts, permissions and extension state. Unified Headless shares the regular browser code, but environment differences can still change layout and timing.

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

Navigation hangs

Set explicit navigation and selector timeouts, log the last completed step, and avoid waiting forever for “network idle” on pages with analytics, long polling or streaming connections. Use a page-specific readiness condition instead.

Performance, reliability and cost considerations

Official Chrome material describes qualitative trade-offs rather than head-to-head speed or reliability benchmarks, so there is no responsible universal claim that one mode is faster. The shell’s fewer dependencies can simplify constrained deployments; unified Headless avoids a separate browser implementation and is the safer choice when fidelity is the requirement.

For reliable automation, isolate profiles between jobs, pin versions, cap concurrency according to available CPU and memory, and retry only transient navigation failures. Do not treat a successful process exit as proof that the page was correct: validate an expected selector, HTTP outcome or screenshot artifact.

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

Or skip the browser setup

ScreenshotNeo is a website screenshot API and MCP server. It accepts a URL, handles the browser work remotely and returns PNG, JPEG, WebP or PDF. Before capture it accepts cookie and 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.

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

One request is enough:

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

See the ScreenshotNeo documentation for the 63 capture options, including full-page lazy-image loading, CSS-selector elements, dark mode, device presets, custom JavaScript and CSS, clicks, hidden selectors, network and resource blocking, cookies and headers, geolocation, PDF settings, caching, signed links, asynchronous webhooks, bulk capture and usage data. Its MCP server exposes take_screenshot, get_page_info and capture_pdf to Claude, Cursor and other MCP clients.

Best Value
HP Chromebook 14 Laptop, Intel Celeron N4120, 4 GB RAM, 64 GB eMMC, 14" HD Display, Chrome OS, Thin Design, 4K Graphics, Long Battery Life, Ash Gray Keyboard (14a-na0226nr, 2022, Mineral Silver)
  • FOR HOME, WORK, & SCHOOL – With an Intel processor, 14-inch display, custom-tuned stereo speakers, and long battery life, this Chromebook laptop lets you knock out any assignment or binge-watch your favorite shows..Voltage:5.0 volts
  • HD DISPLAY, PORTABLE DESIGN – See every bit of detail on this micro-edge, anti-glare, 14-inch HD (1366 x 768) display (1); easily take this thin and lightweight laptop PC from room to room, on trips, or in a backpack.
  • ALL-DAY PERFORMANCE – Reliably tackle all your assignments at once with the quad-core, Intel Celeron N4120—the perfect processor for performance, power consumption, and value (2).
  • 4K READY – Smoothly stream 4K content and play your favorite next-gen games with Intel UHD Graphics 600 (3) (4).
  • MEMORY AND STORAGE – Enjoy a boost to your system’s performance with 4 GB of RAM while saving more of your favorite memories with 64 GB of reliable flash-based eMMC storage (5).

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

Frequently Asked Questions

Does Headless Chrome need a monitor?

No. It uses virtual screens and does not require a physical display attached to the host.

Is chrome-headless-shell a complete Chrome browser?

No. It is a lightweight wrapper around Chromium’s content module with fewer dependencies than unified Chrome Headless.

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

Can I debug a Headless test visually?

Yes. Run the same Puppeteer or Selenium flow with visible mode, such as Puppeteer’s headless: false, then switch back after diagnosing the page.

Which mode should I use for extension testing?

Use unified Headless because it runs the regular Chrome browser code; the shell is intended for narrower, constrained tasks.

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.