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.

Direct answer: run a real browser in your server-side or desktop app, navigate to the URL, wait for the page state your product needs, and call the browser’s screenshot API. Playwright and Puppeteer provide high-level page screenshot methods; Chrome DevTools Protocol (CDP) offers lower-level control. Choose viewport, element, or full-page capture deliberately, set the output format and scale, then save or return the bytes.

Choose the capture approach

The right implementation depends on how much browser control you need and where your code runs.

Approach Best fit Browser coverage and control Typical capture capabilities
Playwright Applications that may target more than one browser engine One API for Chromium, Firefox and WebKit Viewport, element and full-page screenshots; PNG, JPEG and WebP; CSS-pixel or device-pixel scale
Puppeteer Chrome/Chromium-centered JavaScript applications or CDP-oriented workflows High-level automation for Chrome and Firefox through CDP and WebDriver BiDi Viewport and beyond-viewport capture, clipping, rendering-surface selection and transparent output
Chrome DevTools Protocol Systems that need direct protocol control Lower-level Page-domain API Image format and clipping through Page.captureScreenshot

All three capture a rendered browser page, not a photograph of the operating-system display. A hosted screenshot API is another option when you do not want to operate browsers, fonts, sandboxing and concurrency yourself.

Install and prepare a browser runtime

Playwright (Node.js)

  1. Install the package: npm install playwright.
  2. Install the browser binaries required by your deployment, for example with Playwright’s browser-install command.
  3. Run the code from a server or desktop process that is allowed to launch a browser. In containers, provide the required sandbox or isolation configuration rather than disabling security blindly.

Puppeteer (Node.js)

  1. Install it with npm install puppeteer.
  2. Use the bundled browser or point Puppeteer at a managed Chrome/Chromium executable.
  3. Keep browser processes isolated from untrusted application data and credentials.

For either library, make navigation timeouts explicit, close pages and contexts in a finally block, and avoid sharing an authenticated context between unrelated users.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Guermok Video Capture Card, 4K USB3.0 HDMI to USB C, 1080P 60FPS & 2K 30FPS
  • 【1080P 60FPS Video Capture Card】 This HDMI game capture card is based on USB3.0 high speed transmission port, input resolution up to 4K@30HZ, output resolution up to 2K@30Hz or 1920×1080@60Hz. Type c and USB interface can meet most of the devices in daily life. Easily meet the online capture, real-time recording, online meetings, live gaming and other functions, so you have a better visual enjoyment. Note: For capture use only; requires capture software to function and is not intended for direct screen casting to a monitor or TV
  • 【Ultra Low Latency Screen Sharing】 HDMI capture card is made of good quality aluminum alloy with strong heat dissipation, allowing you to enjoy ultra low latency while live gaming or video recording or live streaming, avoiding 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
  • 【Plug and Play, Easy to Carry】 This HDMI 1080P video capture card does not require any additional drivers or external power supply, just plug and play for fast capture. The capture card is small and lightweight, so you can put it in your bag for emergencies, making it very portable for outdoor live streaming. It's also a great way to share content in game recording, video conference, video recorder and online teaching
  • 【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, DVDs, Set Top Box, Webcame, DSLR, Switch/Switch 2, TV BOX, HDTV, Potplayer/VLC, ZOOM, OBS Studio etc.
  • 【Package Content & Note】 1x HD Audio Capture Card , 1x USB 3.0 to USB C Adapter (A-side 3.0, B-side 2.0), 1x 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

Capture a screenshot with Playwright

This complete example returns a PNG for a full scrollable page. It waits for network activity to settle, but production code should also wait for an application-specific selector when client-rendered content is important.

import { chromium } from 'playwright';

const browser = await chromium.launch();
const context = await browser.newContext({
  viewport: { width: 1440, height: 900 },
  deviceScaleFactor: 1
});
const page = await context.newPage();

try {
  await page.goto('https://example.com', {
    waitUntil: 'domcontentloaded',
    timeout: 30_000
  });
  await page.waitForLoadState('networkidle');
  await page.screenshot({
    path: 'example-full.png',
    fullPage: true,
    type: 'png',
    scale: 'css'
  });
} finally {
  await context.close();
  await browser.close();
}

Replace the URL and add a readiness check such as await page.locator('[data-ready="true"]').waitFor() if your application exposes one. waitUntil: 'domcontentloaded' only means the initial document was parsed; it does not guarantee that API data, web fonts or lazy images are ready.

Viewport, element and full-page modes

  • Viewport: omit fullPage to capture the currently visible viewport.
  • Element: locate an element and call locator.screenshot({ path: 'card.png' }). The resulting image is clipped to that element’s box.
  • Full page: set fullPage: true to capture the page’s complete scrollable area. Very long pages can create large images and consume substantial memory.

Format and scale

PNG is a practical default for interfaces and text because it is lossless. Set type: 'jpeg' or type: 'webp' when your consumer prefers those formats. Playwright’s scale: 'css' keeps output in CSS-pixel dimensions; scale: 'device' produces device-pixel output and can be larger on high-density settings. JPEG quality can be supplied where supported; no universal file-size or quality advantage should be assumed without measuring your pages.

Useful Playwright controls

  • Set viewport and deviceScaleFactor deliberately for predictable dimensions.
  • Inject CSS to disable transitions and animations when pixel-stable output matters.
  • Use a locator screenshot for one component instead of rendering an entire page.
  • Use context-level cookies, headers, user agent, timezone and locale only when you have permission to access the target content.
  • For lazy content, scroll in controlled increments or trigger the page’s own loading mechanism before the final capture.

Capture with Puppeteer

Puppeteer’s equivalent API is page.screenshot(). This example saves a WebP viewport image and demonstrates clipping and transparent output.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
import puppeteer from 'puppeteer';

const browser = await puppeteer.launch();
const page = await browser.newPage();

try {
  await page.setViewport({ width: 1440, height: 900, deviceScaleFactor: 1 });
  await page.goto('https://example.com', {
    waitUntil: 'networkidle2',
    timeout: 30_000
  });
  await page.waitForSelector('main');
  await page.screenshot({
    path: 'example.webp',
    type: 'webp',
    quality: 85
  });

  const box = await page.locator('main').boundingBox();
  if (box) {
    await page.screenshot({
      path: 'main.png',
      clip: box
    });
  }
} finally {
  await browser.close();
}

For a complete page, use Puppeteer’s beyond-viewport option where supported by your installed version, or determine the document dimensions and pass a clip rectangle. Puppeteer also exposes rendering-surface selection and omitBackground for transparent output. Check the API version you deploy because option names and browser support can change.

Rank #2
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.

Use Chrome DevTools Protocol when you need lower-level control

CDP’s Page domain exposes Page.captureScreenshot. After enabling the Page domain and navigating through a CDP session, pass an image format and an optional clip rectangle, then base64-decode the returned data. This is useful when an existing Chrome integration already speaks CDP, but it leaves navigation waits, isolation, retries and browser lifecycle to your code. For most application code, Playwright or Puppeteer is less error-prone.

Make captures deterministic and safe

Wait for the right state

  • Use navigation completion only as a first gate.
  • Wait for a stable selector that represents loaded application data.
  • Wait for fonts and critical images when typography or image placement matters.
  • Disable animations, carousels and blinking cursors for visual regression jobs.

Control identity and privacy

Create a fresh browser context per user or tenant. Supply cookies, authorization headers or a user agent only for resources you are authorized to access. Do not log credentials in screenshot URLs, HTML, console output or error messages. Cross-origin assets may fail because of the target site’s policy; a screenshot tool cannot legitimately bypass those permissions.

Handle consent and overlays

Cookie dialogs, newsletter forms and chat widgets can cover the page. In a controlled test environment, click the consent action or hide a known selector after verifying that doing so is permitted. Keep this behavior explicit: removing an overlay can change what a real visitor would see.

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

Plan resource limits

Full-page images and high device scales increase memory use. Limit maximum page dimensions, enforce navigation and capture timeouts, and queue jobs when many URLs arrive at once. Reusing a browser process can improve startup cost, but create isolated contexts and monitor for leaks. There is no authoritative universal latency, throughput or memory number; benchmark your actual pages, browser version and deployment environment.

Return bytes from an API endpoint

A web service can stream the image instead of writing it to disk. With Playwright, omit path and receive a buffer:

Rank #3
Video Capture Card, 4K USB3.0 HDMI to USB C, 1080P60FPS HDMI Capture Card for Streaming, Gaming, Video Recording Compatible with Switch, Xbox, PS4/5, OBS,iPad Mac OS Windows,Camera, Zoom(Silver)
  • 【4K HDMI Input, 2K@30Hz Recording】Powered by a true USB 3.0 high-speed interface, the capture card supports up to 4K@30Hz HDMI input and records at 2K@30Hz or 1080P@60Hz. Perfect for gamers, streamers, and professionals who need crisp, smooth video for live streaming, gameplay recording, or online meetings.
  • 【Ultra Low Latency Screen Sharing】Built with a premium aluminum alloy shell and advanced chipset for stable heat dissipation, ensuring ultra-low latency transmission. Capture high-quality video and dual-channel audio in real time—no lag, no frame drop—ideal for Twitch, YouTube, or OBS streaming.
  • 【Easy Plug and Play, Compact & Portable】No driver or external power required—just plug and play via USB 3.0 or Type-C connection to your Windows or macOS computer. Lightweight and compact design makes it easy to carry for outdoor streaming, live shows, or mobile recording setups.
  • 【Wide Compatibility & Multi-Device Support】Compatible with Windows 7 8 10 11, macOS, Linux,Android and supports most popular software such as OBS, Zoom, VLC, Twitch Studio, and more. Works seamlessly with PS4, PS5, Xbox, Switch, DSLR cameras, TV boxes, and other HDMI-output devices for streaming to YouTube, Twitch, etc.
  • 【What You Get】Includes: HDMI Capture Card, USB 3.0 to USB-C Adapter, User Manual. Tips: Make sure your tablet’s OTG function is enabled before connecting. Test your HDMI device with a monitor first to confirm video and audio output, then connect to the Video Capture Card for recording.
const image = await page.screenshot({ type: 'png', fullPage: true });
// Express example:
res.set('Content-Type', 'image/png');
res.send(image);

For asynchronous workloads, store the bytes in object storage and return a job identifier. Include the target URL, viewport, format and readiness policy in the job record so a later capture is reproducible.

Or skip the browser setup

ScreenshotNeo is a website screenshot API and MCP server. One request returns PNG, JPEG, WebP or PDF, while the service handles browser startup and page capture:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
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 request options. Before capture, it accepts cookie or consent banners and removes more than 60 known consent platforms, newsletter popups and chat widgets; each behavior can be turned off. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads and cache hits cost nothing, and response headers identify the page verdict and whether it was billed. Its MCP server provides take_screenshot, get_page_info and capture_pdf for Claude, Cursor and other MCP clients. The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 shots. Create a free ScreenshotNeo account.

Troubleshooting common failures

The image is blank or only partly rendered

Cause: capture occurred before client-side data, fonts or lazy images finished. Fix: wait for a page-specific selector, verify network requests, scroll to trigger lazy loading, and capture only after the content is visibly stable.

The screenshot stops at the viewport

Cause: the default mode captures the visible viewport. Fix: use Playwright’s fullPage: true, Puppeteer’s beyond-viewport approach, or a CDP clip sized to the document.

Text or images look unexpectedly large

Cause: device-pixel scaling or an uncontrolled viewport. Fix: set viewport dimensions and device scale explicitly and choose CSS or device output intentionally.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #4
Capture Card, 4K HDMI Video Capture Card, Game Capture Card, 1080P 60FPS Video Capture Device, HDMI to USB 3.0 Capture Card for Streaming, Work with Camera/Xbox/PS4/PS5/PC/OBS
  • 【1080P HD High Quality】Capture resolution up to 1080p for video source and it is ideal for all HDMI devices such as PS4, PS3, Xbox One, Xbox 360, Wii U, DVDs, DSLR, Camera, Security Camera and set top box. Note: Video input supports 4K30/60Hz and 1080p120/144Hz. Does not support 4K120Hz/144Hz. Output supports up to 2K30Hz.
  • 【Plug and Play】No driver or external power supply required, true PnP. Once plugged in, the device is identified automatically as a webcam. Detect input and adjust output automatically. Won't occupy CPU, optional audio capture. No freeze with correct setting.
  • 【Compatible with Multiple Systems】suitable for Windows and Mac OS. High speed USB 3.0 technology and superior low latency technology makes it easier for you to transmit live streaming to Twitch, Youtube, Facebook, Twitter, OBS, Potplayer and VLC.
  • 【HDMI LOOP-OUT】Based on the high-speed USB 3.0 technology, it can capture one single channel HD HDMI video signal. There is no delay when you are playing game live.
  • 【Support Mic-in for Commentary】Rybozen capture card has microphone input and you can use it to add external commentary when playing a game. Please note: it only accepts 3.5mm TRS standard microphone headset.

A cookie dialog covers the content

Cause: the page requires consent before revealing or exposing content. Fix: perform an authorized consent action, hide the selector in a controlled test, or use ScreenshotNeo’s consent-cleaning behavior.

Navigation times out

Cause: slow resources, blocked requests, bot protection or a page that never reaches an idle state. Fix: set a bounded timeout, wait for a meaningful selector instead of indefinite network idle, record the failing URL, and retry only with a limit. Do not attempt to defeat a CAPTCHA or access controls.

Parallel jobs exhaust memory

Cause: too many browser pages, very tall documents or high-resolution output. Fix: cap concurrency, reuse a browser carefully with isolated contexts, limit dimensions, close resources in finally, and measure memory in your deployment.

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

Production checklist

  • Define whether each job needs viewport, element or full-page output.
  • Pin browser and library versions in deployment.
  • Set viewport, device scale, format, timeout and maximum page size.
  • Wait for an application-specific readiness condition.
  • Control animations, authentication, cookies and cross-origin resources lawfully.
  • Isolate contexts and secrets between tenants.
  • Record failures and retry transient errors with backoff and a hard limit.
  • Benchmark representative pages; documentation does not provide a universal performance figure.

FAQ

Can a browser screenshot API capture a page behind login?

Yes, when your application is authorized to access it. Supply a session cookie or authorization header in an isolated context, and protect those credentials as secrets.

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

Which format should I store for visual regression tests?

PNG is usually the safest starting point for text and interface details. Choose JPEG or WebP only after checking your comparison tolerance and downstream compatibility.

Best Value
Capture Card, USB Video Capture Card Device, Audio Video Converter Grabber for RCA to USB-Convert VHS Mini DV VCR Hi8 DVD to Digital, for PC TV Tape Player Camcorder, MAC Windows Vista Compatible
  • AV TO USB Converter: Capture videos and audios from VHS, VCR, Hi8, DV tapes to a PC, with the help of our USB Video Converter. Save room while digitizing your favorite old memories
  • Quality Capture Card: Our USB Video Capture Card converting anolog RCA composite input into HD 720P USB output and capturing audio without any sound card. Advanced signal processing technology provides you with great precision, colors, resolutions, and details.
  • Plug and Play: Automatically install the driver once you hook up this RCA to USB Converter to a PC. No external power is needed. User-friendly and easy to operate
  • Wide Compatibility: The Video Capture Card can work with video devices with RCA connector or S-Video connector, such as VHS, VCR, Hi8, camcorder, compatible with Windows and Mac OS. Support video formats like NTSC, PAL, and support brightness, contrast, hue, and saturation control
  • Note: The Video Converter is used with acquisition software. We recommend OBS Studio or PotPlayer for Windows, and QuickTime Player for Mac. They can be downloaded for free online. Please operate according to the steps in User Manual or contact us if you have any questions

Is full-page capture always one continuous image?

It is generally returned as one image representing the scrollable document, but extremely tall pages can hit browser, memory or image-dimension limits. Set practical limits and split very long content when necessary.

Frequently Asked Questions

Can a browser screenshot API capture a page behind login?

Yes, when your application is authorized to access it. Supply a session cookie or authorization header in an isolated context, and protect those credentials as secrets.

Which format should I store for visual regression tests?

PNG is usually the safest starting point for text and interface details. Choose JPEG or WebP only after checking your comparison tolerance and downstream compatibility.

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

Is full-page capture always one continuous image?

It is generally returned as one image representing the scrollable document, but extremely tall pages can hit browser, memory or image-dimension limits. Set practical limits and split very long content when necessary.

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.