October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix NowOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk5 min

How to Use Chrome DevTools Protocol to Capture a Website Screenshot

Chrome DevTools Protocol captures screenshots with Page.captureScreenshot. Learn the options, decode and save its base64 response, and use Puppeteer when you want a higher-level API.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use Chrome DevTools Protocol’s Page.captureScreenshot method. It returns the screenshot as base64-encoded image data; your client must decode that data and save the resulting bytes. The method supports PNG, JPEG and WebP, with options for JPEG quality, a clipped region and capture beyond the viewport.

What you need to do

Page.captureScreenshot is the protocol’s low-level image capture operation. It does not launch Chrome, find a tab, navigate to a URL, or write a file for you. Those steps belong to the CDP client and your application.

As an Amazon Associate I earn from qualifying purchases.

  1. Launch Chrome with a CDP-capable client, or connect to an existing Chrome instance, and select the page target.
  2. Enable the Page domain if your client requires explicit domain activation.
  3. Navigate to the page and wait for the readiness condition appropriate to your task.
  4. Send Page.captureScreenshot with the format and capture options you need.
  5. Base64-decode the response’s data field and write the bytes to a file using the matching extension.

The method and its parameters are documented in the Chrome DevTools Protocol Page reference. The command shape is:

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.
{
  "method": "Page.captureScreenshot",
  "params": {
    "format": "png",
    "captureBeyondViewport": true
  }
}

This is the protocol command, not a complete runnable program: target discovery, session attachment, navigation, waiting, transport, response decoding and file writing vary by client.

#1 Best Overall
Audio Express AXHDCAP 4K HDMI Video Capture Card, Cam Link Card Game Audio Adapter HDMI to USB 2.0 Record Capture Device for Streaming, Live Broadcasting, Video Conference, Teaching, Gaming
  • [Enhanced 4K-1080P Video Capture Experience] Capture the Magic: Elevate your video recordings to new heights with our upgraded anti-static 1080P Video Capture Card. Immerse yourself in stunning visuals, supporting HDMI input at 4K 60FPS and USB output for capturing in 1080P, complete with rich stereo sound. Enjoy crystal-clear video recordings, dynamic gaming live streams, and professional conference broadcasts. Note: HDMI resolution: Max input can be 3840×2160@30Hz / Video output resolution: Max output can be 1920×1080@30Hz
  • [Seamless Real-Time Preview] Stay in the Moment: Our advanced ultra-low latency technology ensures seamless real-time transmission of video streams. Experience instant, lag-free previews, allowing you to capture every detail precisely. Effortlessly record video directly to your hard disk, all without compromising on quality or introducing any delays.
  • [Versatility and Broad Compatibility] Your Creative Hub: Connect your DSLR, camcorder, or action camera to a wide range of operating systems, including Windows, MacOS, and Linux. Unlock a world of possibilities with real-time streaming to popular platforms like Twitch, Youtube, OBS, Zoom, Potplayer, and VLC, giving you the tools to share your content effortlessly.
  • [Effortless Plug and Play] Simplicity Redefined: Say goodbye to complex installations. Our plug-and-play design eliminates the need for drivers or external power supplies. Seamlessly integrate high-definition acquisition into various scenarios, whether it's educational recordings, immersive gaming, precise medical imaging, captivating live streams, or professional broadcasting.
  • [Seize Every Detail with Precision] Unleash your creativity and attention to detail with our video capture card. Capture every nuance, every color, and every moment with precision, thanks to the enhanced capabilities of our technology. Whether you're a content creator, a gamer, or a professional, our capture card empowers you to seize the finest elements and bring them to life in your recordings and live streams.

Choose the capture options

Need Option or approach What to know
What is currently visible Leave captureBeyondViewport false This option defaults to false, so the default capture is not a request to include content outside the viewport.
A particular rectangle Pass a clip viewport rectangle Use the rectangle to specify the region to capture.
Content beyond the viewport Set captureBeyondViewport to true The protocol documents the option but does not specify a universal maximum page height or guarantee behavior for every extremely tall page.
Image format Set format to png, jpeg or webp Match the output filename extension to the selected format.
JPEG compression quality Set quality when using JPEG Quality is relevant to JPEG; choose and test a value appropriate to your image-size and visual-quality needs.
Surface source fromSurface The documented default is true. Change it only when you have a specific reason to alter the capture source.

For repeatable results, configure the viewport and device metrics in the surrounding CDP workflow as well as the screenshot options. Page.captureScreenshot does not choose those settings for your application.

Wait for the page you intend to capture

Navigation completing does not necessarily mean the page looks finished. Images may load lazily, web fonts may arrive later, animations may be mid-frame, and consent banners or other overlays may cover content. Choose a task-specific readiness signal, then inspect the resulting image when visual correctness matters.

Puppeteer’s screenshot guide uses networkidle2 as an example navigation wait, not as a guarantee that every page element is ready. A site can keep network connections open or load visual content after the network becomes quiet. Where possible, wait for the relevant selector or application state rather than relying on one generic delay.

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

Use Puppeteer when you want a higher-level API

If you do not need to manage raw CDP sessions and response decoding, Puppeteer wraps common screenshot tasks. Its screenshot options include a file path, type, quality, clip and fullPage. It also supports element screenshots through ElementHandle.screenshot(); the guide says a hidden element is scrolled into view by default.

Rank #2
ClearClick Video to USB 1080P Audio Video Capture & Live Streaming Device - Input HDMI, AV, RCA, S-Video, VCR, VHS, Camcorder, Video8, Hi8, DVD, Gaming Systems - USB-C Plug & Play
  • [HDMI Capture] Record or Live Stream Audio & Video at up to 1080P from HDMI Sources up to 4K 30 FPS (NOTE: Does NOT Support HDMI Sources That Are Copyrighted or Content-Protected)
  • [AV & S-Video Capture] Record or Live Stream from Analog Video Sources Such As VCR, VHS, Camcorders, Video8, Hi8, DVD, Gaming Systems (Device Automatic Upscales to HD Resolution)
  • [USB-C Plug & Play] Modern USB-C Plug and Play Interface (Works with Laptops and Desktops - Full Size USB-A Adapter Included)
  • [Software Included] Video Capture & Live Streaming Software & Step By-Step Instructions Included
  • [Compatible with PC, Mac, & Linux] Works with Windows 10/11/12, OS X 11.0 or higher, and Ubuntu 14.04 or higher

This complete Node.js example uses the Puppeteer API documented in version 25.12.0. Install Puppeteer in your project with npm install puppeteer, then save the following as an ES module, for example screenshot.mjs:

import puppeteer from 'puppeteer';

const url = process.argv[2] ?? 'https://example.com';
const browser = await puppeteer.launch({ headless: true });

try {
  const page = await browser.newPage();
  await page.setViewport({ width: 1440, height: 900, deviceScaleFactor: 1 });
  await page.goto(url, { waitUntil: 'networkidle2' });
  await page.screenshot({ path: 'shot.png', type: 'png', fullPage: true });
} finally {
  await browser.close();
}

Run it with node screenshot.mjs https://example.com. It writes shot.png in the current directory. To capture only the visible viewport, remove fullPage: true. To save a clipped region, use the documented clip option; to capture one element, select it and call that element handle’s screenshot() method.

Puppeteer’s convenience methods reduce setup, while direct CDP gives you the protocol operation and its controls without requiring Puppeteer’s screenshot wrapper. The trade-off is that a raw-CDP implementation must also handle target/session setup, readiness, decoding and file output. See the Puppeteer ScreenshotOptions API and its screenshots guide for the versioned wrapper behavior.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
GUERMOK Video Capture Card, USB3.0 HDMI to USB-C Capture Device, 2K@30FPS
  • 【2K@30FPS, High-Speed Transmission】This HDMI game capture card uses advanced chip technology for low-latency performance, fast data transmission and smooth high-frame-rate video capture. Featuring a native USB 3.0 data connection, it supports input resolutions up to 4K@30FPS and capture output up to 2K@30FPS or 1080P@60FPS. It supports MJPEG and YUV422 formats for online capture, real-time recording, online meetings and live gaming. Note: For capture use only; capture software is required, and direct screen casting to a monitor or TV is not supported
  • 【Strong Stability, Clearer Picture Quality】 The HDMI capture card is made of good quality aluminum alloy with strong heat dissipation, and the new cable layout design makes for greater stability and clearer picture quality to avoid blue screens and lag. This HDMI to USBC capture card supports easy recording of good quality audio or HD video and transferring it to your computer or streaming platform, allowing you to record 60 fps HD video directly on your hard drive and real-time preview
  • 【Simple Setup for 2K Video Capture】This 2K HDMI capture card requires no additional drivers or a separate power supply. Connect it to a compatible computer or tablet and open capture software such as OBS Studio to record or share video content. The straightforward setup reduces installation steps and unnecessary cable clutter, making the device easy to integrate into an existing recording or streaming workspace
  • 【Wide Compatibility USB Capture Card】 Easily streams to Facebook, Youtube or Twitch. With the connection, this HDMI to USB C/3.0 video capture devices can be working on several Operating Systems and various software: Windows 7/ 8/ 10, Mac OS or above, Linux, Android, Laptop, Xbox One, PS3/PS4/PS5, Camera, Webcame, DSLR, Switch/Switch 2, Steam, TV BOX, HDTV, Potplayer/VLC, ZOOM, OBS Studio etc., also works with iPad, Quest 3/3s/2
  • 【Package Content & Note】 1 x HD Video Capture Card, 1 x USB 3.0 to USB C Adapter (A-side 3.0, B-side 2.0), 1 x English user manual. Please note that you need to restart the OBS Studio software after the audio setup is complete, otherwise it will result in no sound output. When using an adapter, if the device is recognized as USB 2.0, try using the other side with the USB-C port. Simply flip the capture card and reconnect it to be recognized as USB 3.0

Troubleshoot common capture problems

  • The command returns image data but no file appears: CDP returns base64 data; it does not write the file. Decode the response’s data field and write the resulting bytes.
  • The image cannot be opened: Confirm the selected format matches the file extension and that you decoded the base64 payload rather than saving the encoded text.
  • The screenshot is only the visible area: Request capture beyond the viewport or use a wrapper’s full-page option. Very tall-page behavior has no universal maximum established in the protocol reference, so validate it against your actual Chrome version and page.
  • A banner, popup, or incomplete image appears: The capture may have happened before the page reached the needed visual state. Wait for a page-specific signal and check whether overlays or lazy-loaded content affect the result.
  • Repeated captures differ: Fix the viewport/device metrics, wait condition and capture options; also account for animations and other changing page content.
  • Your client rejects the command or has no page context: Check that you attached to the intended page target and enabled the Page domain if the client requires it. Session and target setup are client-specific.
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. Send one GET request with a URL to receive an image or PDF, without implementing browser launch, CDP sessions and base64 file handling yourself. See the ScreenshotNeo API documentation.

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

Cookie banners and consent overlays, newsletter popups and chat widgets are removed before capture. Bot checks, blank pages, failed loads and cache hits are not billed, and the response identifies the page verdict and billing status in headers. An MCP server provides take_screenshot, get_page_info and capture_pdf for AI agents and other MCP clients. The Free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000 screenshots.

Sign up for ScreenshotNeo’s free plan to get 1,000 screenshots a month with no card.

Frequently Asked Questions

What does Page.captureScreenshot return?

A response containing the screenshot image as a base64-encoded string in its data field.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #4
Papeaso Video Capture Card, 4K Input HDMI to USB 3.0 A/C, 2K 30FPS Capture
  • 【3.0 High-Speed capture card】 This Papeaso HDMI game capture card uses a newest 3.0 chip , lower latency compared to the old model, faster transmission speed,supports input max resolution 3840×2160@30Hz, output max resolution 1920×1080@60Hz, support 1080P 60fps High-Quality Recording and live streaming. (Note: It is a uni-directional video Capture Card, only converting from an HDMI source to a USB/USB C display.)
  • 【Dual interface design】:The latest version of USB A/USB C dual interface design meets the connection needs of different devices, no longer worry about the problem of interface mismatch, and is compatible with most current laptops, tablets, mobile phones and other devices
  • 【Real-time preview】The audio and video capture card adopts ultra-low latency technology, allowing you to game live recording without delay. And makes it easier for you to have real-time streaming for Twitch, Youtube, Facebook, TikTok, record videos directly to the hard disk, output no compression without delay. (NOTE: game live broadcast needs to be used with capture software, such as VLC, OBS, Amcap, etc.)
  • 【Wide Compatible】This HDMI to USB/USB C 3.0 capture card easily connects DSLR, camcorder, or action Cam,PS5/4,Smartphones, Switch, XBOX to your PC or Mac, compatible with Windows/Android/MacOS.
  • 【Widely use】4K HDMI Video capture card can capture video and audio simultaneously. This HDMI capture card is suitable for high definition acquisition, live broadcasts, conference rooms, video recording, teaching recording, medical imaging, game entertainment live broadcasting, etc.

Can CDP capture a specific element?

The protocol method supports a clipped rectangle. For an element-level convenience method, Puppeteer documents ElementHandle.screenshot().

Does captureBeyondViewport guarantee a full screenshot of any page?

No universal maximum page height or guarantee for exceptionally tall pages is established in the protocol reference. Test the target page and Chrome version you use.

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.