ScreenshotNeo

BlogHow-to

How to Fix Scrolling Screenshots in Microsoft Edge

Fix Edge screenshots that capture only the visible viewport with full-page capture, DevTools, and reliable troubleshooting steps.

By the ScreenshotNeo team1 October 20268 min read

When Microsoft Edge captures only what is visible, use Edge’s full-page Screenshot command first. Open the page, press Ctrl+Shift+S (or open the page context menu or … > Screenshot), choose Capture full page, review the result, and save it. Microsoft says the Screenshot feature can capture a full webpage, a selected area, and moving content, but availability and labels vary by device, market, and browser version. Microsoft’s Screenshot documentation describes the current feature.

1. Capture a full scrolling page in Edge

  1. Open Microsoft Edge and navigate to the page.
  2. Press Ctrl+Shift+S, or open the page context menu and choose Screenshot. You can also open … > Web capture or … > Screenshot, depending on your version.
  3. Choose Capture full page.
  4. Wait while Edge renders the page. Review the complete image.
  5. Save it, copy it, or use the markup tools before saving.

Microsoft’s January 2, 2024 walkthrough uses this sequence: open Web capture from the Settings and more menu or with Ctrl+Shift+S, select Capture full page, review the image, and save it. For a partial screenshot, choose Capture area, then select Copy or Markup capture. Follow Microsoft’s walkthrough.

When the option is called Web capture

Microsoft has changed the name and placement during the feature rollout. Try all three entry points:

  • Right-click the page and look for Screenshot or Web capture.
  • Open … > Screenshot or … > Web capture.
  • Press Ctrl+Shift+S.

The choices shown can differ by browser version, device, market, and organizational policy. If you see only an area-selection tool, continue with the fixes below.

2. Why Edge captures only the visible viewport

A viewport screenshot records the pixels currently displayed. A full-page capture must ask the page for its document size, scroll through content, and stitch or render regions that are outside the viewport. Several conditions can prevent that process:

  • The Screenshot/Web capture command is unavailable or has a different name in your Edge build.
  • Edge is outdated or temporarily unstable.
  • Low memory, too many tabs, or an extension interferes with rendering.
  • The page scrolls inside a panel, frame, modal, or sidebar instead of the main document.
  • Content is loaded only after scrolling, after interaction, or after a delayed network request.
  • A document viewer or application uses a special canvas or nested browsing context.

The most important structural check is the scroll container. A Microsoft Q&A record describes a limitation: full-page capture works when scrolling is positioned in the page body; content inside another scrolling element such as a sidebar or frame may not be included. In that case, select the inner region if Edge allows it, open the content directly, or use DevTools.

3. Fixes to try in order

3.1 Update Edge

Open … > Settings > About Microsoft Edge. Install any available update, restart the browser, and retry Ctrl+Shift+S. Microsoft Support recommends checking for updates as an early troubleshooting step for Edge problems. See Microsoft’s Edge troubleshooting guidance.

3.2 Restart Edge and reduce memory pressure

Close unused tabs and applications, disable heavy web apps temporarily, then quit and reopen Edge. Low available memory can stop pages from loading or rendering correctly. Retry on a fresh tab before restoring your extensions and other tabs.

3.3 Clear cached files

  1. Open … > History > Open history page.
  2. Select Delete browsing data.
  3. Set the time range to All time.
  4. Select Browsing history and Cached images and files.
  5. Choose Clear now, restart Edge, and capture again.

Microsoft notes that clearing the cache can sometimes fix page-display problems.

3.4 Disable extensions temporarily

Open … > Extensions > Manage extensions. Turn off extensions that change layout, scrolling, privacy controls, page scripts, or screenshots. Retry in an InPrivate window if your organization permits it. If the capture works, re-enable extensions one at a time to identify the conflict.

3.5 Check the page’s scroll container

Scroll the page and watch which region moves. If the body stays fixed while a panel, frame, or document area scrolls, Edge may not treat that region as the page for full-page capture. Try these workarounds:

  • Open the document or article in its own tab instead of inside an embedded frame.
  • Use Capture area around the inner scrollable panel if the content fits.
  • Use DevTools’ full-size screenshot after selecting the correct frame.
  • Ask the site for a print or export view when the content is an application canvas.

3.6 Repair Edge

If Edge itself is unstable, close it and open Start > Settings > Apps > Installed apps. Find Microsoft Edge, choose Modify, then Repair. Microsoft says an internet connection and administrator rights are required and that browser data and settings should not be affected.

3.7 Send feedback

If Screenshot remains missing after updating, restarting, clearing cache, and testing without extensions, open … > Help and feedback > Send feedback. Include your Edge version, operating system, page type, and whether the page scrolls in the body or an inner panel.

4. Use Edge DevTools when full-page capture is missing

DevTools provides a native fallback that captures content outside the visible viewport.

  1. Open the target page.
  2. Open DevTools with F12, Ctrl+Shift+I, or the page context menu’s Inspect command.
  3. If needed, enable the device toolbar with Ctrl+Shift+M.
  4. Open the DevTools command menu or the screenshot menu, then choose More options (…) > Capture a full size screenshot.
  5. Save the generated image.

Microsoft’s developer documentation says Capture a full size screenshot includes content that is not currently visible in the viewport. Read the DevTools documentation.

DevTools checks for difficult pages

  • Use the device toolbar to set a predictable viewport before capture.
  • Wait for images, charts, fonts, and client-rendered sections to finish loading.
  • Inspect the page to find whether the content is inside an iframe or an element with overflow: auto or overflow: scroll.
  • For a frame, switch the inspected document to that frame before attempting capture.

5. Optional extensions

If built-in Screenshot and DevTools cannot capture a particular layout, Microsoft Q&A mentions extensions such as GoFullPage and Page Screenshot. Treat extensions as optional: permissions, page structure, browser version, and organization policy can affect their behavior. Install only from a source you trust, review requested permissions, and remove the extension when you no longer need it.

6. Choosing the right method

Method Best for Limit to expect
Edge Screenshot / Web capture One-off full-page or area captures with built-in markup Availability and labels vary; nested scroll containers can be missed
Edge DevTools Full-size technical captures and cases where the overlay is missing More steps; frames and application canvases may still need special handling
Extension Repeated captures or specialized page workflows Requires installation and permissions; may be blocked by policy
Screenshot API Automated, repeatable captures from scripts or CI Requires API setup and handling of page-load conditions

7. Or skip the browser setup

ScreenshotNeo is a website screenshot API and MCP server. One GET request returns a PNG, JPEG, WebP, or PDF. The API can capture full pages, load lazy images, target one CSS selector, set a viewport or device preset, use dark mode and retina scale, wait for a selector, delay, or network idle, and apply custom headers, cookies, user agents, JavaScript, CSS, geolocation, and timezone. See the ScreenshotNeo API documentation for the complete option list.

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)
r.raise_for_status()
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}`);
if (!res.ok) throw new Error(`HTTP ${res.status}`);
const fs = await import('node:fs/promises');
await fs.writeFile('shot.webp', Buffer.from(await res.arrayBuffer()));

ScreenshotNeo removes cookie and consent banners, newsletter popups, and chat widgets before capture. Bot checks, blank pages, failed loads, timeouts, and cache hits are not billed, and response headers identify the page verdict and whether the request was billed. Its MCP server provides take_screenshot, get_page_info, and capture_pdf tools 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 screenshots. Create a free ScreenshotNeo account.

8. Performance, reliability, and cost notes

  • Very long pages take longer to render and can produce large image files. Capture only the needed element when a full document is unnecessary.
  • Lazy-loaded images may not appear until the page is scrolled or a wait condition is used. Allow the page to settle before saving.
  • Animations, rotating banners, and live dashboards can change between captures. Pause animations with custom CSS or capture during a stable state.
  • Nested frames and scrolling panels are less predictable than a normal document body. Prefer a direct URL or an element-specific capture.
  • For automated jobs, set explicit timeouts, retry transient network failures, and record the output status. ScreenshotNeo exposes verdict and billing headers so failed or clean results can be distinguished.
  • Use caching when the same URL can be reused, with a TTL that matches how often the page changes. Bulk capture supports up to 100 URLs per call, and asynchronous jobs with signed webhooks suit larger batches.

9. Troubleshooting checklist

Symptom Likely cause Fix
Only the visible viewport is saved Area capture selected or full-page command unavailable Use Capture full page, update Edge, or use DevTools full-size capture
Capture full page is missing Feature rollout, version, device, market, or policy difference Try right-click, … menu, and Ctrl+Shift+S; update Edge
Bottom half is blank Lazy loading, delayed scripts, or memory pressure Wait for content, close tabs, disable extensions, and retry
Sidebar or embedded document is cut off Scrolling occurs in an inner element or frame Open the content directly, select the inner region, or use DevTools
Screenshot works only with extensions off Layout, privacy, or capture extension conflict Identify and remove or reconfigure the conflicting extension
Edge crashes or hangs Browser instability or insufficient memory Restart, update, reduce tabs, clear cache, or repair Edge
Automated capture returns a bot check The site challenged the automated browser Use an authorized session, required headers or cookies, or ScreenshotNeo’s verdict headers to detect the result

10. FAQ

Can I make Ctrl+Shift+S always capture the whole page?

The shortcut opens the Screenshot/Web capture tool. You still need to choose Capture full page; Edge does not necessarily remember that choice.

Why does full-page capture work on one site but not another?

Sites use different scroll containers, frames, canvases, lazy-loading behavior, and scripts. A normal document body is the most compatible structure.

Does Edge full-page capture include content below the fold?

Yes, when Capture full page succeeds. DevTools’ Capture a full size screenshot is the native fallback for content outside the viewport.

Should I use an extension instead?

Try the built-in tool and DevTools first. An extension can help with repeated workflows, but it adds permissions and may be blocked by organization policy.

What is the most repeatable option for a script or CI job?

Use a screenshot API with explicit wait, viewport, authentication, and output settings. ScreenshotNeo provides those controls plus API, bulk, async, and MCP interfaces.