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

Run this command: chrome-headless-shell --screenshot https://example.com/. Chrome’s standalone Headless Shell writes the capture to screenshot.png in the command’s current working directory. Add --window-size=WIDTH,HEIGHT for a deliberate viewport and a timing flag when the page needs more time to render.

The quickest working command

Chrome Headless Shell is a standalone executable intended for unattended browser work. The minimum screenshot command is:

chrome-headless-shell --screenshot https://example.com/

When it finishes, look for screenshot.png in the directory from which you ran the command. The exact path to the executable depends on how you obtained Chrome for Testing, so replace chrome-headless-shell with its full path if it is not on your PATH.

This captures the page at the shell’s default virtual viewport. For repeatable output in a script or CI job, set the viewport and page-wait behavior explicitly rather than relying on defaults.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Sale
Philips 24 Inch Computer Monitor FHD 100Hz VA VESA Flicker-Free, 241V8LB
  • CRISP CLARITY: This 23.8″ Philips V line monitor delivers crisp Full HD 1920x1080 visuals. Enjoy movies, shows and videos with remarkable detail
  • INCREDIBLE CONTRAST: The VA panel produces brighter whites and deeper blacks. You get true-to-life images and more gradients with 16.7 million colors
  • THE PERFECT VIEW: The 178/178 degree extra wide viewing angle prevents the shifting of colors when viewed from an offset angle, so you always get consistent colors
  • WORK SEAMLESSLY: This sleek monitor is virtually bezel-free on three sides, so the screen looks even bigger for the viewer. This minimalistic design also allows for seamless multi-monitor setups that enhance your workflow and boost productivity
  • A BETTER READING EXPERIENCE: For busy office workers, EasyRead mode provides a more paper-like experience for when viewing lengthy documents

Set the viewport you actually need

Use --window-size=WIDTH,HEIGHT to define the virtual browser window:

chrome-headless-shell --screenshot --window-size=412,892 https://example.com/

The dimensions are CSS pixels. Pick them to match the layout you are checking, such as a desktop regression viewport or a mobile design width. This is a viewport screenshot, not automatically a full-page capture. The documented shell workflow does not establish a custom output-path option or a one-flag full-page mode; pages taller than the viewport require a different capture workflow.

Why explicit dimensions matter

  • Responsive breakpoints can render different navigation, columns and typography at different widths.
  • Fixed-height viewports make screenshots comparable between runs.
  • A tall height does not prove that content below the viewport was captured; it only enlarges the visible viewport.

Control when the capture happens

Headless Shell takes the screenshot after its configured wait behavior. A page that loads data, images or animations asynchronously may still be changing when the image is written. Use timing flags as controls, not as a guarantee that every application is visually settled.

Maximum wait with --timeout

--timeout is measured in milliseconds and sets the maximum wait before capture, even if the page is still loading:

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-shell --screenshot --timeout=5000 https://example.com/

A larger value gives slow resources more opportunity to finish, but it also makes every successful run wait longer when a site is unavailable. It does not make a broken request succeed.

Fast-forward page time with --virtual-time-budget

For pages whose scripts depend on timers or scheduled animation, Chrome documents --virtual-time-budget to fast-forward virtual time. For example:

chrome-headless-shell --screenshot --virtual-time-budget=5000 https://example.com/

Virtual time and wall-clock timeout solve different problems. Virtual time advances time-dependent page code; --timeout limits how long the command waits in real execution. Neither flag is a universal “network idle” or “all images complete” test.

Rank #2
Philips 22 Inch Computer Monitor FHD 100Hz VA VESA Flicker-Free, 221V8LB
  • CRISP CLARITY: This 22 inch class (21.5″ viewable) Philips V line monitor delivers crisp Full HD 1920x1080 visuals. Enjoy movies, shows and videos with remarkable detail
  • 100HZ FAST REFRESH RATE: 100Hz brings your favorite movies and video games to life. Stream, binge, and play effortlessly
  • SMOOTH ACTION WITH ADAPTIVE-SYNC: Adaptive-Sync technology ensures fluid action sequences and rapid response time. Every frame will be rendered smoothly with crystal clarity and without stutter
  • INCREDIBLE CONTRAST: The VA panel produces brighter whites and deeper blacks. You get true-to-life images and more gradients with 16.7 million colors
  • THE PERFECT VIEW: The 178/178 degree extra wide viewing angle prevents the shifting of colors when viewed from an offset angle, so you always get consistent colors

Combine viewport and timing settings

chrome-headless-shell 
  --screenshot 
  --window-size=1440,900 
  --timeout=10000 
  https://example.com/

Keep the URL last, quote it when it contains shell metacharacters, and record the chosen flags alongside your test so later runs use the same conditions.

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.

Capture a chrome:// page

Chrome’s command-line reference requires --allow-chrome-scheme-url for internal chrome:// targets:

chrome-headless-shell --allow-chrome-scheme-url --screenshot chrome://gpu/

The documentation identifies this flag as available from Chrome 123. Because that threshold is version-sensitive, check the command-line reference for the Chrome build you deploy before depending on it in automation. Ordinary web URLs do not need this flag.

Where Headless Shell fits among Chrome’s headless modes

“Headless Shell” is not merely a spelling variant of Chrome’s current --headless option. It is the old Headless implementation distributed as the separate chrome-headless-shell binary. Chrome describes it as a lightweight wrapper around Chromium’s //content module with substantially fewer dependencies.

Choice What it is When it fits
Headless Shell Standalone, lightweight shell around Chromium’s //content module Command-line screenshots, scraping and jobs where a smaller dependency footprint is useful
Unified Headless Chrome The Chrome browser running without visible UI, sharing Chrome’s browser code High-fidelity end-to-end web-app tests or browser-extension tests that need broader Chrome behavior

Chrome’s documentation presents unified Headless as the more authentic, feature-rich browser environment for those testing scenarios. That distinction does not establish a screenshot-quality benchmark, so choose based on the behavior your job needs rather than assuming one mode always produces a sharper image.

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

In Puppeteer, the documented selections are headless: 'shell' for Headless Shell and headless: true for current unified Headless. Since Chrome 132.0.6793.0, the old Headless mode has been available only as the standalone shell binary.

Run it reliably in scripts and CI

Make the working directory intentional

Because the documented default file is screenshot.png in the current working directory, start your job in a known directory and move or rename the file afterward in your own script. The available documentation does not establish a supported shell flag for choosing a different output filename.

Rank #3
Sale
Dell 24 Monitor - SE2426H - 23.8-inch FHD (1920x1080) 144Hz 1ms Display, in-Plane Switching (IPS) Technology, AMD FreeSync™, TÜV 3-Star 2X HDMI, Tilt
  • Clear visuals. Fluid motion: A 144Hz refresh rate and 1ms MPRT deliver smooth, tear‑free motion across work, gaming, and streaming for clearer, more fluid viewing.
  • Eye comfort: TÜV Rheinland 3‑star* certification reduces harmful blue light while preserving stunning color quality without compromise. *TÜV Rheinland 3-star eye comfort certification.
  • Wide viewing angle: Get consistent views across a wide 178° /178° viewing angle.
  • In-Plane Switching (IPS): See excellent color accuracy and consistency across wide viewing angles with In-plane Switching (IPS) technology.
  • Ultra-thin bezels: Maximize your viewing experience with thin bezels.

Check the process result and file

A robust job should treat both the command result and the output file as signals:

  1. Run Headless Shell with an explicit viewport and an appropriate timeout.
  2. Check that the process completed successfully.
  3. Verify that screenshot.png exists and is non-empty.
  4. Rename or upload that file using your automation system.
  5. Retain the command-line options with the artifact so a visual difference can be reproduced.

Allow for page-specific readiness

One timeout value cannot suit every site. A mostly static page may need little waiting; a dashboard that fetches data after load may need more. If the result is intermittently incomplete, first inspect the page’s own loading behavior and then adjust timing or use a page-specific workflow. Do not infer that a longer timeout proves the page was fully settled.

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

Use a virtual screen, not a physical monitor

Headless mode supplies a configurable virtual screen independent of attached physical displays. A server, container or CI runner therefore does not need a monitor connected. Chrome also documents configuration and inspection of virtual-screen information; use those facilities when a test needs more than the basic viewport dimensions.

Common failures and fixes

“command not found” or an executable error

Cause: the standalone binary is not on PATH, or the downloaded file is not executable for the runner’s platform.

Fix: locate the Chrome for Testing Headless Shell binary, invoke it with its full path, and verify that the runner can execute that file. Installation commands vary by operating system, and the cited documentation does not provide one universal installer command.

No screenshot appears where expected

Cause: the command ran from a different working directory than you expected.

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

Fix: print or set the job’s working directory before launching the command, then look there for the documented default screenshot.png. Do not assume the file is beside the binary.

Rank #4
Samsung 27" Essential S3 (S36GD) Series FHD 1800R Curved Computer Monitor
  • CURVED FOR ENHANCED ENGAGEMENT: An immersive viewing experience with a curved monitor that wraps more closely around your field of vision; It creates a wider view, enhancing depth perception and minimizing peripheral distraction
  • SMOOTH PERFORMANCE FOR SEAMLESS CONTENT: Stay in the action when playing games, watching videos, or working on creative projects; The 100Hz refresh rate reduces lag and motion blur so you don't miss a thing in fast-paced moments¹
  • MORE GAMING POWER: Gain the edge with optimizable game settings; Color and image contrast can be adjusted to see scenes more vividly and spot enemies hiding in the dark; Game Mode adjusts any game to fill the screen so you can view every detail²
  • KEEP IT EASY ON THE EYES: Care for your eyes and stay comfortable, even during long sessions; Advanced eye comfort technology certified by TÜV reduces eye strain by minimizing blue light and reducing irritating screen flicker²
  • INCREASED VERSATILITY: Connect to more; Plug devices straight into your monitor for increased flexibility, making your computing environment even more convenient

The image shows a loading shell or missing content

Cause: the page was still loading when the capture occurred, or a request failed.

Fix: increase --timeout, consider --virtual-time-budget for timer-driven content, and inspect the target page independently. These flags only change capture timing; they cannot repair failed network requests or guarantee completion of arbitrary asynchronous work.

The layout is different from a normal browser

Cause: the selected viewport triggers a different responsive breakpoint, or the shell does not provide the full browser behavior your application expects.

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

Fix: set --window-size to the dimensions you are comparing. If the test depends on browser extensions or Chrome-specific end-to-end behavior, evaluate unified Headless Chrome instead of assuming the lightweight shell is equivalent.

A chrome:// URL fails

Cause: the internal-scheme permission flag is missing, or the deployed Chrome version does not support it.

Fix: add --allow-chrome-scheme-url and verify the Chrome version. The documented availability threshold is Chrome 123.

A very tall page is cut off

Cause: --window-size changes the viewport but is not a documented full-page capture switch for this shell workflow.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Best Value
Sale
Sceptre New 22-Inch Gaming Monitor, FHD 1080p, Up to 144Hz, HDMI, DisplayPort, Built-in Speakers, Machine Black (E225W-FW144 Series, 2026)
  • 【INTEGRATED SPEAKERS】Whether you're at work or in the midst of an intense gaming session, our built-in speakers provide rich and seamless audio, all while keeping your desk clutter-free.
  • 【EASY ON THE EYES】 Protect your eyes and enhance your comfort with Blue-Light Shift technology. This feature reduces harmful blue light emissions from your screen, helping to alleviate eye strain during long hours of use and promoting healthier viewing habits.
  • 【WIDEN YOUR PERSPECTIVE】Our sleek minimal bezel design ensures undivided attention. The nearly bezel-free display seamlessly connects in a dual monitor arrangement, delivering an unobstructed view that lets you focus on more at once, completely distraction-free.

Fix: use a capture method that explicitly supports full-page stitching or scrolling, rather than treating a tall viewport as a full-page screenshot.

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

Performance, fidelity and cost considerations

Headless Shell’s main operational advantage is its lighter dependency footprint. That can simplify a small container or command-line worker. Unified Headless has the broader browser code and is the better fit when fidelity to Chrome’s complete behavior matters more than a lightweight process.

Capture time is dominated by the target page and your wait settings. A short timeout lowers latency but increases the chance of capturing an unfinished page; a long timeout improves the opportunity for slow content to arrive but keeps failed jobs around longer. There is no published speed or accuracy statistic in the cited Chrome material, so benchmark your own pages if those metrics determine an architecture decision.

The binary itself is the central requirement: the documented workflow does not add a per-screenshot service charge. Your practical costs are the compute, storage and network resources used by the runner, plus the engineering time needed to handle page-specific readiness and failures.

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

Or skip the browser setup

ScreenshotNeo is a website screenshot API and MCP server if you would rather send a URL than package Chrome. One GET request returns a PNG, JPEG, WebP or PDF. The API accepts the consent banner before capture and removes more than 60 known consent platforms, newsletter popups and chat widgets; each cleanup step can be turned off. Bot checks and CAPTCHAs, blank pages, timeouts, failed loads and cache hits are not billed, and the response identifies the result with X-Page-Verdict and X-Billed headers.

See the ScreenshotNeo documentation for the complete option set. It includes full-page captures with lazy images loaded, CSS-selector element shots, dark mode, 12 device presets plus custom viewports, retina scale, PDF paper size and margins, custom CSS and JavaScript, pre-capture clicks, selector hiding, waits for a selector, delay or network idle, request and resource blocking, custom headers, cookies, user agents and Authorization, timezone and geolocation, transparent backgrounds, resizing, configurable-TTL caching, signed image links, asynchronous jobs with signed webhooks, bulk capture of up to 100 URLs per call, a usage API and an OpenAPI specification. Parameter names used by other screenshot APIs also work, which can ease migration.

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

ScreenshotNeo also provides an MCP server with take_screenshot, get_page_info and capture_pdf tools for Claude, Cursor and other MCP clients. Every feature is on every plan: Free includes 1,000 shots per month with no card, Starter is $5 for 3,000, Growth $15 for 15,000, Pro $39 for 60,000, Scale $99 for 250,000 and Business $249 for 1,000,000. Yearly billing gives two months free. Create a free ScreenshotNeo account to get the 1,000 monthly screenshots without a card.

Frequently Asked Questions

Can Headless Shell run without an attached display?

Yes. Chrome documents a configurable virtual headless screen that is independent of physical displays, so a server or CI runner does not need a monitor.

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

Does --timeout wait for every network request to finish?

No. It is a maximum wait before capture. A page can still have unfinished asynchronous work when the timeout expires, so readiness must be evaluated for the specific site.

Which Puppeteer setting selects the standalone shell?

Puppeteer documents headless: 'shell' for Headless Shell; headless: true selects current unified Headless Chrome.

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.