What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
For a full-page capture from a Chrome extension, attach to the target tab with chrome.debugger and send the Chrome DevTools Protocol command Page.captureScreenshot with captureBeyondViewport: true. Declare the debugger permission in the manifest. If that permission is unsuitable or blocked, capture viewport-sized sections with chrome.tabs.captureVisibleTab() and stitch them together; that alternative requires careful handling of scrolling, rendering, and Chrome’s capture quota.
Choose the capture method
Chrome’s chrome.tabs.captureVisibleTab() captures the tab’s visible area, not the whole document in one call. To capture beyond the viewport directly, use the debugger API to send the CDP Page.captureScreenshot command with captureBeyondViewport: true. The two approaches solve different problems:
| Approach | What it does | Trade-off |
|---|---|---|
| Debugger plus CDP | Requests a beyond-viewport screenshot in one CDP call. | Requires the debugger permission and can be blocked by enterprise policy or data-loss-prevention (DLP) rules. |
| Scroll and stitch | Captures successive visible areas and combines them into a larger image. | Requires scripting and image composition; scrolling pages can produce seams or inconsistent content. Capture calls must be throttled. |
Use CDP when your extension can justify debugger access and the environment allows it. Use scroll-and-stitch when you need to avoid that permission or need to prepare the page as you move through it. Neither approach guarantees an identical result on every page: dynamic content, lazy-loaded images, sticky elements, and policy restrictions affect the outcome.
Capture the page with chrome.debugger and CDP
1. Declare the permission
Add debugger to the extension’s permissions. This Manifest V3 example includes an action so the user can click the extension to capture the active tab, and the downloads permission for saving the result:
Recommended Free Tools
{
"manifest_version": 3,
"name": "Full Page Capture",
"version": "1.0.0",
"permissions": ["debugger", "activeTab", "downloads"],
"background": { "service_worker": "service-worker.js" },
"action": { "default_title": "Capture full page" }
}
activeTab is included here to support the user-invoked action on the active tab; it does not replace the required debugger permission. If you use a different way to select or access tabs, adjust the permissions and access model to match it.
#1 Best Overall
- Model: Dell OptiPlex 7050 Small Form Factor (SFF)
- Processor: Intel Core i7-7700 3.60 GHz
- Memory: 32GB DDR4 Ram
- Storage: 1TB Solid State Drive (SSD) Fast Boot + Storage
- Operating System: Windows 11 Pro (64-bit)
2. Attach, capture, save, and detach
Put this in service-worker.js. It attaches to the active tab using protocol version 1.3, sends the CDP command, turns its base64 PNG data into a data URL, and asks Chrome to download it. The finally block attempts to detach whether capture succeeds or fails.
chrome.action.onClicked.addListener(async (tab) => {
if (!tab.id) return;
const target = { tabId: tab.id };
let attached = false;
try {
await chrome.debugger.attach(target, "1.3");
attached = true;
const result = await chrome.debugger.sendCommand(
target,
"Page.captureScreenshot",
{ captureBeyondViewport: true, format: "png" }
);
const dataUrl = `data:image/png;base64,${result.data}`;
await chrome.downloads.download({
url: dataUrl,
filename: "full-page.png",
saveAs: true
});
} catch (error) {
console.error("Full-page capture failed:", error);
} finally {
if (attached) {
try {
await chrome.debugger.detach(target);
} catch (error) {
console.warn("Could not detach debugger:", error);
}
}
}
});
The returned data is base64-encoded image data. Here, format: "png" requests PNG output; the example’s filename and data URL use that format. To show the image in an extension UI instead, pass the same data URL to that UI rather than starting a download. Check the protocol version supported by the Chrome release you target. The Chrome extension debugger API requires the manifest’s debugger permission.
3. Report failure to the user
The sample logs errors so it stays short. A production extension should also present a useful status in its UI: capture completed, or capture failed with a message that the user can act on. Don’t silently treat a failed attachment as an empty screenshot. Detach after the operation so the debugger session does not remain attached longer than necessary.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Fix the driver behind crashes, sound loss and screen glitches3Repair Windows errors before they cause bigger problemsRank #2
- AN AMAZING MAC AT A SURPRISING PRICE — With an incredibly portable and durable aluminum design, up to 16 hours of battery life,* and the A18 Pro chip, MacBook Neo is ready to go wherever school takes you.
- FOUR STUNNING COLORS. ONE DURABLE DESIGN — Choose from four beautiful colors — Silver, Blush, Citrus, or Indigo — each with a color-coordinated keyboard. And MacBook Neo is made with a durable recycled aluminum enclosure that helps it reach 60 percent recycled content by weight — the most ever in any Apple product.*
- FLY THROUGH EVERYDAY ASSIGNMENTS — Whether you’re cramming for finals, using Apple Intelligence* to summarize class notes, creating presentations, or even playing the latest Apple Arcade game,* MacBook Neo delivers the performance and AI capabilities you need to get things done.
- UP TO 16 HOURS OF BATTERY LIFE — MacBook Neo delivers all day battery life, so you can power through from early morning classes to late night study sessions without worrying about plugging in.
- A VIBRANT 13-INCH DISPLAY* — The gorgeous Liquid Retina display on MacBook Neo supports 1 billion colors, so photos and videos pop and text is crisp for easy reading.
Build a scroll-and-stitch fallback
This is an engineering pattern built from the visible-area capture API; Chrome’s API reference describes capturing the visible area, not a universal full-page stitching algorithm. The extension must coordinate a content script, which measures and scrolls the document, with extension code that captures each viewport and assembles the images.
- Get page access. Arrange content-script injection using
scriptingwith suitable host access, or use an appropriateactiveTabflow. The content script needs to read page dimensions and control scrolling. - Measure before capturing. Record document height and width, viewport dimensions, device-pixel ratio, zoom where relevant, and the starting scroll position. These measurements are needed to map each viewport image into the final image’s coordinate system.
- Plan capture positions. Move through the document in viewport-sized steps. An overlap can help avoid gaps if dimensions or scroll positions round differently, but the overlapping pixels must be cropped when assembling the output.
- Wait for the page to render. After each scroll, allow layout and painting to settle before calling
captureVisibleTab(). For lazy-loaded content, scrolling can trigger loading; allow time for those resources before deciding a section is ready. - Capture and stitch. Capture each visible region and place it in a canvas or another image-composition surface at the corresponding document coordinates. Crop overlaps and crop the result to the measured document bounds.
- Restore page state. Return the page to its original scroll position and restore any page styles or temporary changes made to handle sticky or fixed elements.
Chrome documents MAX_CAPTURE_VISIBLE_TAB_CALLS_PER_SECOND as 2 from Chrome 92 onward. Keep calls at or below that documented rate; a long document may therefore take time to capture. Coordinate the content-script scroll and the extension capture so a second scroll does not happen before the intended viewport has been captured.
Sticky elements, dynamic pages, and frames
- Fixed and sticky headers: they may appear in every captured strip, creating repeated bars or seams. A page-aware implementation can temporarily manage them, but must restore the original page state afterward.
- Lazy-loaded images: scrolling may trigger loading, so immediate capture can preserve blank placeholders. Wait for relevant content to render, and test pages that defer images until they enter view.
- Changing content: animation, feeds, ads, and live updates can shift page geometry between measurements and captures. The stitched image may combine different moments or show gaps; no universal stitching algorithm is established by the API behavior alone.
- Cross-origin frames: do not assume a content script can inspect or control every embedded frame. Test the pages and frame arrangements your extension needs to support.
- Very tall documents: the more sections you combine, the more opportunities there are for capture delays, page changes, or stitching errors. Test realistic pages and decide how your extension should report an incomplete or oversized result.
Why one captureVisibleTab call is not enough
chrome.tabs.captureVisibleTab() returns an image of the visible area of the active tab. It is useful for a viewport screenshot, but it does not automatically scroll the page or expand the image to include content outside that area. A full-page result requires either a beyond-viewport capture through CDP or multiple visible-area images combined by your extension.
Rank #3
- Performance: Powered by Intel Celeron N4500 dual-core processor with up to 2.8 GHz burst frequency and 4MB L3 cache, this HP Chromebook delivers smooth multitasking for everyday computing. With 4GB LPDDR4x-2933 RAM and Intel UHD Graphics, enjoy seamless web browsing, video streaming, and productivity apps. Chrome OS boots in seconds and updates automatically, keeping your laptop secure and running at peak performance for students, professionals, and home users.
- Immersive 14-Inch HD Display: Experience clear, vibrant visuals on the 14-inch diagonal HD (1366 x 768) anti-glare display with 250 nits brightness and 62.5% sRGB color accuracy. The micro-edge design maximizes your viewing area with an impressive 80% screen-to-body ratio, perfect for streaming movies, video calls, and document editing. The anti-glare coating reduces eye strain during extended use, making it ideal for all-day productivity and entertainment in any lighting condition.
- Advanced Connectivity & Ports: Stay connected with Wi-Fi 6 (2x2) for faster wireless speeds and Bluetooth 5.3 for seamless device pairing. Equipped with versatile ports including 1 USB Type-C 10Gbps (with USB Power Delivery and DisplayPort 1.4), 2 USB Type-A 5Gbps ports, 1 HDMI 1.4b, and 1 headphone/microphone combo jack. Connect external monitors, transfer files quickly, charge your device, and expand your workspace effortlessly for maximum productivity and flexibility.
- All-Day Battery & Premium Design: The battery keeps you powered throughout your day, while the included 45W USB Type-C power adapter ensures fast charging. Featuring a sleek modern grey finish with vertical brushing pattern on the keyboard deck, this lightweight 3.35 lb Chromebook combines style and portability. The full-size modern grey keyboard and HP Imagepad provide comfortable typing and precise navigation for work, school, or entertainment on the go.
- Enhanced Security & Multimedia: Built-in H1 secure microcontroller protects your data and privacy with enterprise-grade security. The HP True Vision 720p HD camera with integrated dual array digital microphones delivers crystal-clear video calls and online meetings. HD Audio with stereo speakers provides rich, immersive sound for music, videos, and calls. With 64GB eMMC storage, you have ample space for essential files while Chrome OS seamlessly integrates with Google Drive for cloud storage.
Google’s Chrome Extensions sample demonstrates wiring for a screenshot of the current tab using chrome.tabs.captureVisibleTab(). It is a useful reference for a visible-tab screenshot, not a complete full-page capture implementation.
Troubleshooting
Debugger attachment is rejected
Confirm that debugger appears in the manifest’s permissions and that the extension has been reloaded after a manifest change. If the permission is present, the environment may still disallow attachment. Enterprise host restrictions, Chrome’s DisableScreenshots policy, or DLP rules can block debugger attachment or screenshot capture. In a managed environment, check with the administrator; if debugger access is not available, use a tested scroll-and-stitch path where permitted.
The screenshot contains only the viewport
Check that the extension sends Page.captureScreenshot through chrome.debugger.sendCommand and includes captureBeyondViewport: true. A call to captureVisibleTab() alone is a viewport capture by design; use it repeatedly only as part of a scroll-and-stitch implementation.
Rank #4
- [INTEL POWERED CONTENT] - Built with a 8th Generation Hexa-Core Intel i5 and 32GB of DDR4 RAM; Modern, Windows 11 ready, with 4K support, Executive multitasking, media streaming and smooth, multi-tab web browsing; Perfect as an all-purpose multimedia computer; built for content creators; Plenty of RAM and Mass storage for photo and video editing powered by Intel HD 630
- [LATEST WIRELESS TECH] - This Dell Desktop Computer easily connects to the internet through the Built In WiFi / Bluetooth
- [SOLID STATE STORAGE] - This Dell Computer setup comes with an ultra-fast 1TB Solid State Drive (SSD); Setup as the primary boot device; Boot and load programs with lightning speed ; Additional expansion available
- [BUY & OWN WITH CONFIDENCE] - From the world's largest Microsoft Authorized Refurbisher; Quality Guarantee and Free Tech Support; Award-winning Customer Service; | Support Sustainable Business
- [MODERN HI-SPEED PORTS] - USB 3.0 (x4) | USB 2.0 (x4) | DisplayPort (x1) | HDMI Port (x1) | Audio Combo Jack (x1) | Audio Out (x1) | RJ-45 Ethernet (x1) | Internal SATA (x3)
The stitched image has repeated bars or visible seams
Repeated fixed or sticky elements are a common design challenge when independently capturing sections. Review the scroll positions, overlap cropping, and final image coordinates. If the extension temporarily changes page styles, ensure those changes are applied consistently and restored after capture.
Some content is missing or blank
Allow time for rendering after scrolling, especially where lazy loading is involved. Recheck the measured document size if content changes while the capture is underway. A single pass cannot guarantee a consistent snapshot of a page whose content or layout is changing.
Captures fail or take too long in a long document
For scroll-and-stitch, throttle visible-tab captures to the documented maximum of 2 calls per second from Chrome 92 onward. A long page requires many calls, so the workflow has more points at which rendering delays or page changes can affect the result. Surface failures clearly instead of returning a partial image as if it were complete.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Or skip the browser setup
If your goal is to capture a website from an application or agent rather than implement the capture inside a Chrome extension, ScreenshotNeo offers a screenshot API and MCP server. Its clean-shot steps can accept consent banners and remove more than 60 known consent platforms, newsletter popups, and chat widgets before capture; each step can be turned off. Bot checks and CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and responses identify the page verdict and billing status in headers. Its MCP server provides take_screenshot, get_page_info, and capture_pdf for AI agents and MCP clients.
One cURL request can return a screenshot; this example saves a WebP capture of Stripe:
Best Value
- 🖥POWERFUL PROCESSOR and SUPERIOR STORAGE: Configured with top of the Intel Core i5 processor for lightning-fast, reliable and consistent performance to ensure an exceptional PC experience. 16GB RAM memory to smoothly run multiple applications and browser tabs all at once. 2TB HDD storage space to store apps, games, photos, music, and movies. Loaded with 16GB to zip through multiple tasks in a hurry without lag.
- 🖥️New 22 Inch Full HD (1920x1080) LED monitor: with 75hz, High-Quality panel with quick refresh rate and response time. With 1080p resolution, you can enjoy gaming or a modern computing experience. 22 Inch monitor has a Smart Contrast to provide optimized image quality. Bezel-less and sleek design with glossy finish, crisp edge-to-edge visuals. Wide Viewing Angles for clarity from any viewpoint. VESA Mountable and built-in tilt options allow for a variety of monitor configurations.
- ⌨️ +🖱️ RGB KEYBOARD AND MOUSE | RGB SPEAKER: 3 LED Colors - Blue, red, green, Backlight LED Lights for use at night time, looks amazing. The keyboard mouse and speaker are responsive, reliable, and probably plastered in RGB lights. It's important you pick the right one for your desktop.
- 💿 WINDOWS 10 Pro LATEST: A new installation of the latest Microsoft Windows 11 Professional 64 Bit Operating System software, free of bloatware commonly installed from other manufacturers. As Microsoft's latest and best OS to date, Windows 10 Pro 64 Bit will maximize the utility of each PC for years to come. Optional software such as Anti-Virus and Office 365 can also be easily downloaded through the Microsoft Windows App Store.
curl -G "https://api.screenshotneo.com/v1/shot"
-d access_key=YOUR_API_KEY
--data-urlencode url=https://stripe.com
-o shot.webp
Replace the example URL with the page you want and provide your API key. See the ScreenshotNeo API documentation for request options. The API also supports PNG, JPEG, and PDF output. Free includes 1,000 shots per month with no card; paid plans start at $5 for 3,000 shots. See ScreenshotNeo for the service details, then sign up free for 1,000 screenshots a month with no card.
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Frequently Asked Questions
Does the Google Chrome Extensions screenshot sample capture an entire page?
No. It demonstrates taking a screenshot of the current tab’s visible area; full-page capture needs CDP beyond-viewport capture or a separate scroll-and-stitch workflow.
Can I use the captured image in an extension interface instead of downloading it?
Yes. The CDP response’s base64 image data can be converted to a data URL and passed to an extension UI; the example uses a download only to make the result easy to inspect.
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.




