Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.
For a simple server-side screenshot, run Chromium in headless mode with --screenshot and set the viewport using --window-size. When your application needs to control navigation, browser state or the returned image data, launch headless Chrome and use the Chrome DevTools Protocol (CDP), including Page.captureScreenshot. The command-line route is easier to operate for one-off jobs; CDP gives an application finer control over a capture workflow.
Choose the capture method that fits the job
Headless Chromium renders a page without opening a visible browser window. The simplest interface is the command line: pass a URL and let Chrome write an image file. For an application-managed service, CDP lets your code issue browser commands and receive screenshot data directly.
| Decision | Command-line capture | DevTools Protocol |
|---|---|---|
| Control model | Run a browser command for a URL and save a file. | Your application sends commands to a browser and handles returned data. |
| Good fit | One-off captures or straightforward jobs with file output. | Services that need to coordinate navigation, browser state, clipping or in-process image handling. |
| Documented controls | Viewport size, timeout and virtual-time budget. | Image format, JPEG quality, clipping and capture beyond the viewport. |
| Implementation concerns | Working directory, process exit and output-file handling. | Debugging endpoint, protocol client, page-target lifecycle and browser cleanup. |
These are control and implementation differences, not a performance comparison. The right choice depends on what your service must do with the page and the resulting image.
Run a basic headless Chromium capture
Install or otherwise make the intended Chrome or Chromium executable available to the service account. Then run:
#1 Best Overall
- 【Powerful & Efficient Performance】Powered by the Intel Celeron J3355 Processor (up to 2.5GHz), this Mini PC delivers a 25% performance boost over previous generations. Pre-installed with Windows 11 Home and supporting Linux/Ubuntu, it’s the ideal micro desktop for seamless web browsing, document editing, and efficient daily office tasks.
- 【Massive Storage & Unique Expansion】Equipped with 6GB LPDDR3 RAM and 128GB onboard storage for fast boot-ups. Stand out with our dual M.2 SSD slot design (1x SATA + 1x NVMe), allowing you to easily expand storage up to 2TB without replacing the original drive. Perfect for managing large digital libraries and intensive multitasking.
- 【Stunning 4K Dual HDMI Display】Boost your productivity with Intel HD Graphics 500 and dual HDMI ports, supporting 4K @60Hz high-definition visuals. Connect two monitors simultaneously to streamline your workflow—ideal for home office setups, stock trading, or enjoying a theater-like 4K media experience.
- 【Ultra-Compact & Space-Saving Design】Measuring only 4.2x4.1x1.4 inches and weighing just 0.49 lbs, this palm-sized mini computer fits anywhere. Use the included VESA bracket to mount it behind your monitor for a zero-clutter workspace. Features a smart silent fan and heat sink system for quiet, reliable 24/7 operation.
- 【Stable Connectivity & Smart Recovery】Stay connected with Dual-Band WiFi (2.4G/5G), Bluetooth 5.0, and Gigabit Ethernet. Exclusive One-Click Restore feature (via F9 key) allows for quick system recovery in minutes. Backed by Bmax's 12-month warranty and lifetime technical support for a worry-free purchase.
chrome --headless --screenshot --window-size=1280,900 https://example.com/
The documented default output is screenshot.png in the current working directory. The dimensions set a 1280-by-900 viewport; they do not mean that the resulting image will automatically include the entire page. Run the process with a known working directory, or have your job runner check for and move the output file after Chrome exits.
On a system where the executable has a different name or location, substitute that executable path—for example, the path to the Chrome or Chromium binary installed in your environment. Make sure the service account can execute it and write to the output directory. The example uses a public page; a production capture service should validate requested URLs and decide which destinations it is allowed to access.
Set a bounded wait, not a promise of readiness
For pages that take time to render, the command-line interface documents --timeout and --virtual-time-budget. For example:
Recommended Free Tools
Rank #2
- 🔄【Powerful Alder Lake-N N95 Processor & Pre-installed Win11 Home】Model Number: MINI S; Brand: Beelink; Manufacturer: Shenzhen AZW Technology Co., Ltd. Beelink MINI S12 mini pc equipped with Intel Celeron N95 (4C/4T, up to 3.4GHz) and 4MB cache; faster performance than old i3-5005U / i5-5257U; pre-activated Win 11 Home system, ideal for daily office, multi-tab browsing, online meetings
- 🔄【Expandable Dual M.2 Storage】Beelink MINI S12 micro pc built-in 8GB single-channel DDR4 RAM (max expandable to 16GB) and built-in 256GB M.2 SATA3 SSD; dual M.2 slots support expandable storage up to 4TB
- 🔄【Dual HDMI 4K Output & 16EU UHD Graphics】Beelink MINI S12 mini computer is integrated Intel UHD Graphics with 16EUs up to 1200MHz; dual HDMI ports support dual-monitor connection to expand workspace; fluent 4K output for home theater
- 🔄【Stable High-speed Network & Compact Space-saving Design】Beelink MINI S12 N95 small pc comes with 2.5G LAN, WiFi 5 and Bluetooth 4.2 for lag-free wired/wireless internet; efficient quiet cooling system improves heat dissipation by 40% for stable long-hour operation; compact size 4.52 × 4.04 × 1.54 inches, matched with wall mount bracket to hide the mini PC behind monitors and save desktop space
- 🔄【Complete Accessories & Reliable After-sales Support】Package includes 12V 3A power adapter, Input: 100-240V AC, 50/60Hz, HDMI cables and wall mount bracket; all of beelink mini PCs pass FCC, CE and RoHS certification; support auto power-on with tutorial provided upon request; covered by 3-year warranty, lifetime technical support and one on one customer service
chrome --headless --screenshot --window-size=1280,900 --timeout=5000 https://example.com/
This asks the CLI to capture after a maximum wait of five seconds, even if the page is still loading. A virtual-time budget is another way to give page execution a defined interval before capture. Neither option proves that every site’s application-specific content is ready: a page can finish loading before its data appears, or remain active after the content you need is already visible. Treat these flags as timing controls and choose a readiness policy that matches the page.
Keep screenshot, PDF and DOM output separate
--screenshot writes an image. Chrome documents --print-to-pdf separately for PDF output, so use that mode when the deliverable is a PDF rather than an image. --dump-dom emits a serialized DOM after parsing and script execution; it is not the original HTML source and does not produce a screenshot.
Use CDP when the application needs browser control
The CDP workflow is to start the intended browser in headless mode with remote debugging enabled, connect a protocol client, select or create a page target, navigate, apply a page-specific readiness policy, and call Page.captureScreenshot. That command returns encoded screenshot data. Your application decodes and stores it, then closes or reuses the page and browser according to its lifecycle design.
Rank #3
- 【Powerful Ryzen 5 Processor】 The C4 Plus Mini PC is powered by the Ryzen 5 3501U processor (4 Cores/8 Threads, Base Clock 2.1GHz, Max Boost up to 3.7GHz) and features Radeon Vega 8 Graphics (1200MHz). Whether you're handling daily office tasks or streaming media, it delivers smooth and reliable desktop-class performance. Pre-installed 11 Pro OS .Support Ubuntu OS.
- 【Upgradable RAM & Storage】Comes pre-installed with 8GB DDR4 SODIMM RAM and a 256GB M.2 2280 SATA SSD for fast boot times and snappy application launches. Designed with flexibility in mind, it supports dual-channel memory expansion up to 32GB (SODIMM x2) and includes an extra slot for an M.2 2280 NVMe PCIe 3.0 x4 SSD, allowing you to effortlessly expand your storage capacity.
- 【Triple Display Video Output】Boost your productivity with support for up to three monitors simultaneously. This mini computer features versatile video output options including 1x HDMI 2.0 (4K@60Hz), 1x DisplayPort (4K@60Hz), and 1x USB Type-C (1080p@60Hz). It is the perfect multitasking solution for home offices, financial trading, or immersive home theater setups.
- 【Dual Gigabit LAN & Fast Connectivity】Built for robust networking with Dual RJ45 Gigabit Ethernet LAN ports, making it ideal for soft routing, homelab servers, or secure network configurations. It also features reliable wireless connectivity with M.2 Wi-Fi 5 (802.11ac) and Bluetooth 5.0, ensuring a stable connection for your wireless peripherals and internet browsing.
- 【Rich I/O Ports & Compact Design】Despite its space-saving footprint, the C4 Plus is packed with connectivity. It includes 3x ultra-fast USB 3.2 Gen 2 Type-A ports (10Gbps) for quick data transfers, 1x USB 2.0 port, and a 3.5mm combo audio jack. Package includes the Mini PC and a standard DC 19V/3.42A power adapter. Plug and play ready for your workspace.
- Launch the browser. Use the Chrome or Chromium executable and release you intend to deploy. Enable a remote-debugging endpoint for your capture service. Keep that endpoint reachable only by trusted components; it exposes browser control and should not be made publicly accessible.
- Connect and select a page target. Use a CDP client to connect to the browser and create or select a page. The exact client setup and target-management API depend on the protocol library you choose.
- Navigate to the URL. Send the navigation command and handle its response and relevant page events. Decide what “ready” means for your workload rather than assuming a fixed delay is sufficient.
- Capture the image. Send
Page.captureScreenshotwith an explicit image format. Use its optional JPEG quality when choosing JPEG; use clipping to capture a region orcaptureBeyondViewportwhen you need capture beyond the current viewport. - Store and clean up. Decode the returned image data, write it to a controlled destination, and close the target or browser when appropriate. Handle navigation failures, capture errors and process shutdown in your own service.
CDP protocol details can change. Match the protocol definition and client behavior to the browser version you deploy rather than assuming a client that worked with another release will behave identically. Chromium documentation describes remote debugging and using a client such as Selenium to drive headless Chrome; a protocol client is one way to build this application-managed path.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Viewport capture versus a taller page
Set the viewport deliberately: the visible layout can change with the window dimensions. The protocol also supports a clipped region and a beyond-viewport option, but a tall-page capture is not the same as taking a single viewport image. Test the behavior on representative pages, especially when content loads as the user scrolls. The available Chromium documentation does not establish a universal rule for every site’s lazy-loaded content.
Handle page readiness as part of the design
A successful navigation is not necessarily a successful capture of the content you wanted. The CLI’s timeout and virtual-time budget limit or define timing behavior; they do not detect a site-specific “ready” state. For CDP, the application can coordinate navigation and choose a readiness policy, but that policy must be designed for the page types being captured.
Rank #4
- 【AMD Ryzen 7330U】 – The Efficiency-Tuned Powerhouse,AMD Ryzen 7330U (Zen 3, SMT, 4C/8T) in KAMRUI P2 mini PC crushes rivals: Intel i3-10110U (2C/4T, 2019) and N95 (4 efficiency cores, no HT, single-channel memory). Vs predecessor Ryzen 3 4300U (4C/4T): ~50% faster single-core, ~46% multi-core, 8MB L3 cache (vs 4MB). Beats both Intel chips hugely in multi-core, making heavy multitasking, coding, data work smooth at just 15W TDP. High-end power in a cool, efficient box.
- 【AMD Radeon Graphics】– Triple 4K Vision & Fluidity,The integrated Radeon Graphics (based on the modern Vega architecture with 6 CUs) is a visual beast, outclassing the iGPU offerings from both AMD's prior generation and Intel. The Intel UHD Graphics (i3-10110U/N95) struggles with single-channel memory and low execution units, crippling its gaming performance and barely handling basic 4K video without stuttering. While the older Radeon Vega 5 (4300U) was decent, our 7330U's Radeon Graphics (6 CUs) pushes the boundaries, delivering higher graphics clock speeds (up to 1.8GHz) and significantly better rendering capabilities. It can drive triple 4K@60Hz displays with zero lag, edit photos/videos.
- 【Generous Storage & Easy Expansion】The KAMRUI Pinova P2 mini desktop computers comes with 16GB LPDDR4X RAM (higher frequency, lower power) for buttery‑smooth multitasking, and a 256GB M.2 SSD for blazing fast boot‑up, quick file transfers, and no more long loading screens. It also features two storage expansion slots (1x M.2 2280 SATA/NVMe PCIe 3.0 slot + 1x M.2 2280 SATA slot), supporting up to 4TB total (not included). You’ll have all the space you need for projects, media, and important data.
- 【Triple 4K Display Output】The KAMRUI Pinova P2 mini desktop pc is equipped with HDMI 2.0 ×1 + DP 1.4 ×1 + USB 3.2 Gen2 Type‑C ×1 (with DP Alt Mode), enabling simultaneous triple 4K@60Hz output. Whether for home entertainment, remote work, or conference room presentations, it delivers an immersive visual experience. Two USB 3.2 Gen2 Type‑A ports (up to 10Gbps – 21x faster than USB 2.0) make data transfers and device expansion a breeze.
- 【USB 3.2 Gen2 Type‑C: 10Gbps & Versatile Connectivity】The USB 3.2 Gen2 Type‑C port on the KAMRUI P2 small pc supports 10Gbps data transfer speeds and can also output DisplayPort 1.4 video. Together with Gigabit LAN, Wi‑Fi, and Bluetooth, you get a fast, flexible, and productive connected environment – wired or wireless.
- For predictable pages, a bounded wait may be sufficient. Keep it bounded so one slow page does not hold a worker indefinitely.
- For applications that render content after navigation, wait for a condition tied to the content you need when your client and page make that possible.
- For pages with variable load behavior, test the readiness rule against fast, slow and failed loads. Decide what your service should return when the expected content never appears.
- Record browser failures and capture outcomes separately from image storage failures. That makes it easier to distinguish a page problem from a problem in your own job pipeline.
These are engineering practices, not Chromium-prescribed timing values. There is no universal delay or readiness rule that can be claimed to work for every site.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Plan deployment around the workload
The official material does not specify universal concurrency limits, memory per capture, container-hardening settings or production readiness values. Measure those for your actual browser build, pages and hosting environment rather than treating a guessed number as a Chromium guarantee.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
- Pin or record the browser build. Browser changes can affect flags and protocol behavior. Include the executable and version in deployment records so capture differences can be investigated.
- Restrict debugging access. Make the remote-debugging endpoint private to the capture service and isolate it from untrusted clients. Accepting arbitrary URLs can also expose destinations the service itself can reach; define and enforce an access policy.
- Measure before setting concurrency. Run representative jobs, observe resource use and output quality, and increase parallel work only as your own measurements support it.
- Define worker and target cleanup. Decide how the service handles browser crashes, stuck navigation, timeouts, partial output and temporary files. The protocol establishes capture commands, not your service’s recovery policy.
- Check output, not only process status. Verify that the expected file or image data exists and can be consumed before marking a job complete.
Account for the headless migration note
The Chromium Headless README notes that, as of M132, the legacy Headless functionality was removed from the Chrome binary and that --headless=old has no effect; it directs users of that legacy functionality to chrome-headless-shell. This note concerns the legacy mode described there. Check the flags and executable for the exact release you deploy instead of copying older setup instructions unexamined.
Best Value
- 【𝙀𝙛𝙛𝙞𝙘𝙞𝙚𝙣𝙩 𝙉𝟰𝟭𝟬𝟬 𝙋𝙧𝙤𝙘𝙚𝙨𝙨𝙤𝙧 𝙛𝙤𝙧 𝙀𝙫𝙚𝙧𝙮𝙙𝙖𝙮 𝘾𝙤𝙢𝙥𝙪𝙩𝙞𝙣𝙜】 – This Mini PC Stick is powered by the Intel Celeron N4100 Quad-Core Processor (1.1GHz base, up to 2.4GHz burst). Perfect for office work, web browsing, 1080P video streaming, digital signage, and IoT applications.
- 【𝟰𝙂𝘽 𝙍𝘼𝙈 & 𝟲𝟰𝙂𝘽 𝙚𝙈𝙈𝘾 𝙎𝙩𝙤𝙧𝙖𝙜𝙚 𝙬𝙞𝙩𝙝 𝙀𝙭𝙥𝙖𝙣𝙙𝙖𝙗𝙡𝙚 𝙊𝙥𝙩𝙞𝙤𝙣】 – Equipped with 4GB LPDDR4 RAM and 64GB eMMC storage for smooth daily tasks. The Micro SD card slot allows you to expand storage up to 1TB, giving you flexibility for more files and media. Ideal for light multitasking, document editing, and home office use.
- 【𝙋𝙧𝙚-𝙞𝙣𝙨𝙩𝙖𝙡𝙡𝙚𝙙 𝙒𝙞𝙣𝙙𝙤𝙬𝙨 𝟭𝟭 & 𝙈𝙪𝙡𝙩𝙞-𝙊𝙎 𝘾𝙤𝙢𝙥𝙖𝙩𝙞𝙗𝙞𝙡𝙞𝙩𝙮】 Comes pre-loaded with Windows 11 out of the box for instant use. It also supports Linux and Ubuntu systems, offering flexible choices to match your different project and development needs.
- 【𝙍𝙚𝙡𝙞𝙖𝙗𝙡𝙚 𝘾𝙤𝙣𝙣𝙚𝙘𝙩𝙞𝙫𝙞𝙩𝙮: 𝙂𝙞𝙜𝙖𝙗𝙞𝙩 𝙀𝙩𝙝𝙚𝙧𝙣𝙚𝙩 & 𝙒𝙞𝙁𝙞】 – Stay connected with dual-band 2.4G/5GHz WiFi and a built-in Gigabit Ethernet port. Supports Bluetooth 4.2 for wireless keyboards, mice, and headphones. The compact stick design keeps your workspace clean while providing stable network performance for streaming and video calls.
- 【𝙎𝙞𝙡𝙚𝙣𝙩 𝙁𝙖𝙣𝙡𝙚𝙨𝙨 𝘿𝙚𝙨𝙞𝙜𝙣 & 𝙎𝙢𝙖𝙧𝙩 𝙄𝙤𝙏 𝙁𝙚𝙖𝙩𝙪𝙧𝙚𝙨】Passive cooling delivers 0dB noise, resists dust and enables reliable 24/7 operation. No moving parts for low maintenance, ideal for quiet offices, bedrooms and libraries. Compact enough to carry or mount behind monitors. Supports Wake on LAN, PXE boot and Auto Power On for digital signage, thin clients, kiosks & industrial IoT. HDMI outputs 4K crisp visuals.
Troubleshoot common capture failures
- No screenshot file appears: confirm that Chrome ran successfully, that the service account can write to the current working directory, and that your job checks the actual output location. The CLI’s documented default is
screenshot.pngin the current working directory. - The screenshot is blank or incomplete: check whether the page had finished rendering the content of interest at capture time. A bounded timeout is not an application-readiness signal; adjust the readiness policy and test it on the affected page.
- The image has the wrong dimensions or layout: set the viewport explicitly with
--window-sizefor CLI use or the appropriate viewport setup in your browser workflow. Confirm whether the goal is the viewport, a clip or content beyond the viewport. - CDP cannot connect: verify that the browser was launched with remote debugging enabled, that your client is connecting to the correct local endpoint, and that the endpoint is not blocked by your process or network setup. Do not expose it publicly as a workaround.
- A CDP command fails after a browser update: check that the protocol client and command parameters match the deployed browser’s protocol version. Protocol details may change.
- Old headless instructions stop working: identify whether they rely on legacy headless behavior. The M132 README note says
--headless=oldhas no effect and points legacy users tochrome-headless-shell. - Captures stall or consume unexpected resources: measure the workload and inspect your browser, page and worker lifecycle. Chromium’s cited documentation does not establish one memory-per-capture or concurrency figure for all deployments.
Or skip the browser setup
If you want a hosted URL-to-image request rather than maintaining Chromium workers, ScreenshotNeo is a website screenshot API and MCP server for developers. A single GET request can return a PNG, JPEG, WebP or PDF. Its capture flow accepts cookie or consent banners as a visitor and removes more than 60 known consent platforms, newsletter popups and chat widgets before the shot; each of those steps can be turned off. Only clean shots are billed: bot checks or CAPTCHAs, blank pages, timeouts, failed loads and cache hits cost nothing, and response headers say which page verdict and billing outcome applied. Its MCP server provides take_screenshot, get_page_info and capture_pdf tools for Claude, Cursor and other MCP clients.
For a first request, replace the example URL and key. See the ScreenshotNeo documentation for request options and response details.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com/ -o shot.webp
ScreenshotNeo offers 1,000 screenshots per month free with no card; paid plans start at $5 for 3,000 shots. Every feature is on every plan, and yearly billing gives two months free. Learn about ScreenshotNeo or sign up free for 1,000 screenshots a month with no card.
FAQ
Can a CDP service reuse one browser for multiple jobs?
It is an implementation choice, not a universal Chromium recommendation. Decide whether to reuse browser processes or start them per job by measuring your workload and defining how targets, failures and cleanup are handled.
Frequently Asked Questions
Does a five-second timeout guarantee that a page is ready for capture?
No. It bounds the CLI wait but does not establish that a site-specific application has finished rendering the content you need.
Can a CDP service reuse one browser for multiple jobs?
That is an implementation choice, not a universal Chromium recommendation. Base it on workload measurements and define how targets, failures and cleanup are handled.
Quick Recap
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.

