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.
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
- Open Microsoft Edge and navigate to the page.
- 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.
- Choose Capture full page.
- Wait while Edge renders the page. Review the complete image.
- 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
- Open … > History > Open history page.
- Select Delete browsing data.
- Set the time range to All time.
- Select Browsing history and Cached images and files.
- 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.
- Open the target page.
- Open DevTools with F12, Ctrl+Shift+I, or the page context menu’s Inspect command.
- If needed, enable the device toolbar with Ctrl+Shift+M.
- Open the DevTools command menu or the screenshot menu, then choose More options (…) > Capture a full size screenshot.
- 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: autooroverflow: 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.


