Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →The right way to capture a website layout depends on what you need to preserve: the visible browser viewport, the complete page below the fold, or one component such as a header. Use Chrome or Firefox Developer Tools for a one-off image; use Playwright when you need repeatable captures, fixed dimensions, or files for further processing. The steps below cover each scope, responsive sizing, dynamic pages, and an API option.
Choose the capture scope first
A layout screenshot is useful only when its boundaries match your evidence. A viewport image records what is currently visible. A full-page image includes content outside the viewport. An element image isolates a selected component. These are different outputs, not interchangeable names for the same capture.
| Need | Use | What it captures |
|---|---|---|
| Show the composition currently on screen | Viewport screenshot | The browser viewport at its current scroll position and dimensions. |
| Record the whole vertical page | Full-page screenshot | Content below the fold across the page’s full scrollable height. |
| Document one component | Element or node screenshot | A selected element and its contents. |
| Repeat captures in a test or script | Playwright | A saved file, full-page image, element image, or image buffer. |
Decide the viewport width and height before capturing. Responsive CSS can change navigation, columns, typography, and spacing when the dimensions change. Record those dimensions with the image so another person can reproduce the layout.
Capture a website layout in Chrome DevTools
1. Open the page and DevTools
- Open the target URL in Chrome.
- Open DevTools with More options > More tools > Developer tools, or use your operating system’s DevTools shortcut.
- Open the device toolbar if you need a specific responsive size. Set the width and height, and select the desired device or enter custom dimensions.
Set the dimensions before taking the image. If the page has a menu, modal, expanded accordion, cookie prompt, or other transient state, trigger that state first. The resulting image documents only the state you captured.
Free tools Windows power users keep installed
One-click scans. No signup required.
#1 Best Overall
- Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
- Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
- Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
- Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
- 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.
2. Capture the visible viewport
- In the device toolbar, open More options.
- Select Capture screenshot.
- Chrome saves an image of the viewport currently shown, including the current scroll position.
This is the correct choice for a hero section, above-the-fold review, responsive breakpoint check, or any task concerned with what a visitor can see without scrolling. It does not include the rest of a long page.
3. Capture the entire page
- Keep the intended viewport width set in the device toolbar.
- Open the device toolbar’s More options menu.
- Choose Capture a full size screenshot.
- Open the saved file and check the top, bottom, fixed headers, and content that loads while scrolling.
A full-size capture includes content outside the current viewport. It is an image, not an interactive copy: links, menus, hover effects, videos, and forms do not remain usable in the PNG.
Chrome checks before saving
- Confirm the page is at the intended responsive width; a desktop-width image and a mobile-width image can have entirely different layouts.
- Wait for fonts, images, and late-loading sections to finish.
- Close or intentionally open overlays that would change the evidence.
- Check whether a sticky header repeats down the full-page image or obscures content.
- Use a descriptive filename that includes the page, viewport, and state, such as pricing-desktop-1280×800.png.
Capture a layout in Firefox Developer Tools
Enable the full-page control when necessary
- Open Firefox Developer Tools.
- If the full-page button is missing, open DevTools Settings.
- Under Available Toolbox Buttons, enable Take a screenshot of the entire page.
- Use the screenshot control to create the full-page image.
Firefox can also capture a single element. In the Inspector’s HTML pane, right-click the node and choose Screenshot Node. This is useful for a card, navigation bar, form, or other component without surrounding page content.
Use the Web Console helper for controlled captures
Firefox’s :screenshot Web Console helper supports options for common layout tasks:
--fullpagecaptures the whole page.--selectortargets an element by selector.--delaywaits before capture.--dprsets device-pixel-ratio handling.--fileand--filenamecontrol output.
Use distinct filenames when preserving variants. Mozilla documents that an existing filename can be overwritten by a subsequent capture with the same name.
Automate repeatable captures with Playwright
Playwright is the practical choice when you need the same URL captured at several widths, want the process in source control, or need an image buffer for post-processing. The examples below are JavaScript API calls to run inside a Playwright page context.
Rank #2
- 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
- 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
- Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
- 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
- What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.
Set the viewport before navigation
Set the viewport before loading the page when its responsive behavior may depend on the initial size. This makes the capture’s conditions explicit and avoids loading a desktop layout before switching to a mobile width.
await page.setViewportSize({ width: 1280, height: 800 });
await page.goto('https://example.com');
await page.screenshot({ path: 'desktop-layout.png' });
For a mobile layout, use the dimensions you need and record them alongside the output:
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →await page.setViewportSize({ width: 390, height: 844 });
await page.goto('https://example.com');
await page.screenshot({ path: 'mobile-layout.png' });
Save a viewport or full-page image
// Current viewport only
await page.screenshot({ path: 'viewport.png' });
// Entire scrollable page
await page.screenshot({ path: 'full-page.png', fullPage: true });
Playwright defines a full-page screenshot as the full scrollable page, as if it were displayed on a screen tall enough to contain it. It is still a static image and may not reproduce every interactive state.
Capture one element
await page.locator('.header').screenshot({ path: 'header.png' });
Replace .header with a stable CSS selector. Prefer an attribute intended for testing or a semantic class over a generated class that changes between builds.
Return a buffer instead of writing a file
const image = await page.screenshot({ fullPage: true });
// Pass image to an image processor, upload it, or attach it to a test report.
Make dynamic pages reproducible
- Wait for a meaningful selector, not merely an arbitrary delay, when the page has a known ready state.
- Use a delay when an animation, carousel, or deferred image needs time to settle.
- Disable or freeze animations when comparing pixels across runs.
- Use the same browser engine, viewport, device scale, locale, timezone, and authentication state for comparable outputs.
- Scroll or otherwise trigger lazy loading before a full-page capture if content appears only after entering the viewport.
- Store the URL, timestamp, viewport, browser version, and relevant page state with the image.
Handle responsive and layout edge cases
Viewport versus full page
A viewport screenshot answers “What can the visitor see now?” A full-page screenshot answers “How is the entire vertical layout arranged?” Do not substitute one for the other in a design review or bug report.
Lazy-loaded content
Some pages do not request images or cards until they approach the viewport. A full-page tool may capture placeholders unless the page has been allowed to load those resources. In an automated workflow, scroll through the page or wait for the relevant selectors before the final screenshot, then verify the saved image.
Rank #3
- Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
- Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
- Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
- Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
- What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.
Fixed and sticky elements
Headers, chat controls, and floating buttons can appear repeatedly or cover content in a stitched full-page image. Capture the intended state, hide an obstructing control only when that reflects your documentation goal, and note the change.
Fonts, animations, and personalization
Web fonts can reflow text after the first paint. Animations can leave different frames in different captures, while geolocation, cookies, login state, and experiments can change the layout. Wait for fonts and critical content, choose a stable state, and keep the environment consistent.
Cross-browser differences
Chrome and Firefox provide the same broad capture scopes, but their rendering engines, font rasterization, scrollbars, and default behavior can differ. Treat images from different browsers as browser-specific evidence; the documented features do not establish pixel-identical output.
Troubleshooting common capture failures
The image contains only the visible area
Cause: You used the viewport command. Fix: In Chrome choose Capture a full size screenshot; in Firefox enable and use the entire-page control; in Playwright set fullPage: true.
The full-page image is missing lower content
Cause: Lazy loading, a still-running request, or a page that changes while it is being captured. Fix: wait for a content selector, scroll to trigger lazy resources, and verify the final image rather than assuming the command succeeded.
The layout uses the wrong breakpoint
Cause: The viewport was changed after navigation or the device toolbar was not set. Fix: set dimensions before loading the URL, and record the exact width and height.
Rank #4
- Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
- Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
- Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
- Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
- Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft
An element screenshot is blank or clips content
Cause: The selector matches the wrong node, the element is hidden, or its content is rendered in a different layer. Fix: inspect the matched node, wait until it is visible, use a stable selector, and check whether an iframe or shadow DOM requires a different target.
The saved file was replaced
Cause: Firefox can overwrite an existing filename. Fix: use unique names for each viewport, state, or timestamp.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minutePC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11The page shows a consent banner or chat widget
Cause: The page state includes overlays that were not dismissed. Fix: dismiss them manually before a one-off capture, or automate the interaction and wait for the overlay to disappear. If you need a clean automated capture across many sites, the API workflow below handles common consent and overlay cleanup.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Or skip the browser setup: ScreenshotNeo
For API-based website screenshots, ScreenshotNeo is the first option to try because it removes common consent banners, newsletter popups, and chat widgets before capture, bills only clean shots, and has a $5 paid plan for 3,000 shots.
One GET request returns a PNG, JPEG, WebP, or PDF. The API base is https://api.screenshotneo.com/v1/shot. The complete parameter reference is in the ScreenshotNeo documentation.
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 supports full-page capture with lazy images loaded, CSS-selector element capture, dark mode, 12 device presets plus custom viewports, retina scale, PDF paper settings and page ranges, HTML/CSS-to-image, custom CSS and JavaScript, clicks before capture, hidden selectors, waits for selectors, delays or network idle, request and resource blocking, custom headers, cookies, user agents and Authorization, timezone and geolocation, transparent backgrounds, resizing, configurable-TTL caching, signed 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 to ease migration.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Each response reports page and billing status through X-Page-Verdict and X-Billed headers. Bot checks and CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed. ScreenshotNeo also provides an MCP server with take_screenshot, get_page_info, and capture_pdf tools for Claude, Cursor, and other MCP clients.
Best Value
- 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
- Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
- Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
- HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
- What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.
| Plan | Allowance and price |
|---|---|
| Free | 1,000 shots/month, no card |
| Starter | $5 for 3,000 shots |
| Growth | $15 for 15,000 shots |
| Pro | $39 for 60,000 shots |
| Scale | $99 for 250,000 shots |
| Business | $249 for 1,000,000 shots |
Yearly billing provides two months free, and every feature is available on every plan. Create a free ScreenshotNeo account to get 1,000 screenshots each month with no card required; paid plans start at $5 for 3,000 shots.
Performance, reliability, and cost decisions
- One-off documentation: DevTools is fastest because it requires no script or account.
- Regression or design testing: Playwright adds setup but gives repeatable dimensions, selectors, and files.
- Many URLs: An API avoids launching and configuring a browser for every manual capture and can submit up to 100 URLs per ScreenshotNeo bulk call.
- Dynamic pages: Wait for a selector or network idle rather than using a short fixed delay that may race the page.
- Output choice: PNG is convenient for lossless interface details, JPEG can reduce file size for photographic pages, WebP offers a compact modern image, and PDF is appropriate when the deliverable is paginated.
- Caching: Use a chosen cache TTL when repeated captures may reuse an unchanged result; disable or shorten it when the page must reflect the latest state.
Frequently asked questions
How do I capture a full-page screenshot?
In Chrome DevTools open the device toolbar’s More options menu and choose Capture a full size screenshot. In Playwright use page.screenshot({ fullPage: true }).
How do I screenshot an element?
In Firefox Inspector, right-click the element and choose Screenshot Node. In Playwright call page.locator('selector').screenshot({ path: 'element.png' }).
Recommended Free Tools
Can a screenshot prove that a page works interactively?
No. It records pixels at one point in time. Use a functional test or recording when interaction itself is the evidence.
Why should I record viewport dimensions?
Responsive layouts can change with width and height. Recording dimensions lets another person reproduce the same breakpoint and composition.
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.

