How to Capture an Entire Web Page Without Scrolling
Capture a complete webpage as one image or PDF using Edge, Firefox, DevTools, extensions, or ScreenshotNeo—without manually scrolling and stitching screenshots.
To capture an entire web page without scrolling yourself, use your browser’s built-in full-page screenshot command. In Microsoft Edge, open Screenshot/Web capture and choose Capture full page. In Firefox, open Take Screenshot and choose Save full page. Both methods capture content below the fold in one operation.
For automated jobs, repeatable output, PDFs, or pages that need cookies, custom headers, waiting, or cleanup, use an API such as ScreenshotNeo. The sections below cover native browser methods first, then extensions, automation, troubleshooting, and an API workflow.
1. Capture a full page in Microsoft Edge
Edge calls this feature Web capture in some versions and Screenshot in others. Microsoft documents opening it from the page’s right-click menu, the Settings and more menu, or the shortcut Ctrl+Shift+S. Menu names can change with browser updates, so search the menu for “Web capture” or “Screenshot” if you do not see the exact label.
- Open the page you want to save.
- Press Ctrl+Shift+S, or open the three-dot menu and choose Web capture/Screenshot.
- Select Capture full page.
- Review the result. Use markup if needed.
- Choose Save to download it or Copy to put it on the clipboard.
Edge’s feature availability and behavior can vary by browser version, device, and market. If the full-page option is missing, update Edge, try the page’s right-click menu, or use Firefox Developer Tools or an extension.
2. Capture a full page in Firefox
Firefox includes a native full-page screenshot tool. Mozilla documents these shortcuts:
- Windows/Linux: Ctrl+Shift+S
- macOS: Command+Shift+S
- Open the page.
- Right-click an empty area and select Take Screenshot, or use the shortcut.
- Choose Save full page.
- Download the PNG or copy it to the clipboard.
Save visible captures only the current viewport. Choose Save full page when you need content below the fold.
See Mozilla’s webpage screenshot instructions for the current interface.
3. Use Firefox Developer Tools for technical control
Developer Tools provides a useful fallback when the normal menu is unavailable or you need a selector, delay, or device-pixel setting.
Enable the full-page screenshot button
- Open Developer Tools with F12 or Ctrl+Shift+I (macOS: Command+Option+I).
- Open the Developer Tools options menu.
- Under Available Toolbox Buttons, enable Take a screenshot of the entire page.
- Click the camera button and choose the full-page option.
Use the Web Console
Firefox’s Web Console supports the :screenshot helper. The full-page flag is:
:screenshot --fullpage
The helper also supports a delay, device-pixel ratio, filename, clipboard output, and a CSS selector target. Consult Mozilla’s DevTools screenshot documentation for the available syntax in your Firefox version.
4. Optional extension: GoFullPage
An extension can help when your browser does not provide a native command or when you need extra export formats. GoFullPage’s Firefox listing says to click its toolbar icon or press Alt+Shift+P. It captures visible sections while scrolling, then opens a tab where you can download the result.
The listing describes PNG, JPEG, and PDF exports. Exceptionally large pages may be split into multiple images. Review the current marketplace listing for permissions, privacy information, browser compatibility, and release notes before installing. A developer’s statement that data collection is not required applies to that listing and version; it is not an independent privacy audit of every extension.
5. Choose the right capture method
| Method | Best for | Output and limits |
|---|---|---|
| Edge Web capture | Quick manual captures in Edge | Full-page image, copy, save, and markup; labels vary by version |
| Firefox Take Screenshot | Quick manual captures in Firefox | PNG download or clipboard; full page and visible page are separate choices |
| Firefox DevTools | Selectors, delays, and technical workflows | Full-page capture plus console options such as delay and device-pixel ratio |
| GoFullPage | Alternative browser workflow and PDF export | Scroll-based capture; very large pages can split into multiple images |
| ScreenshotNeo API | Automation, CI, batch jobs, and repeatable output | PNG, JPEG, WebP, or PDF with wait, cleanup, device, network, and delivery controls |
6. Why a full-page capture can look wrong
- Lazy images are missing: the page loads images only after they approach the viewport. Wait for the page to finish loading, scroll once before a manual capture, or use an API that explicitly loads lazy images.
- Sticky headers repeat: a fixed navigation bar can appear in every stitched section. Hide it temporarily with browser DevTools or a custom capture stylesheet.
- Animations change between sections: pause animations or wait for a stable state before capturing.
- Cookie dialogs, chat bubbles, or newsletter popups cover content: dismiss them before using a browser tool, or configure a capture service to remove them.
- The page is extremely tall: image dimensions can exceed editor or viewer limits. Prefer PDF, reduce device scale, capture one element, or split the document intentionally.
- Authenticated content is absent: a normal browser capture uses your current session, while a remote API needs cookies, headers, or an authorization token supplied explicitly.
7. Make captures readable and reliable
Before capturing
- Wait until the main content and fonts have loaded.
- Close consent banners, chat widgets, and transient popups.
- Set the viewport width you want readers to see.
- For dashboards or private pages, confirm that the correct account and permissions are active.
After capturing
- Check the top, middle, and bottom of the image for missing sections.
- Verify that charts, videos, and lazy-loaded images rendered.
- Use PNG for text-heavy material, JPEG for photographic pages, and PDF when the recipient needs pagination or printing.
- Keep the original URL and capture time with the file when the image is evidence or documentation.
8. Or skip the browser setup
ScreenshotNeo provides one GET request for a full-page screenshot. The API supports PNG, JPEG, WebP, and PDF output, full-page capture with lazy images loaded, custom waits, device presets, CSS and JavaScript, cookies and headers, and many other controls. See the ScreenshotNeo API documentation for all options.
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(`Screenshot failed: ${res.status}`);
const fs = await import('node:fs/promises');
await fs.writeFile('shot.webp', Buffer.from(await res.arrayBuffer()));
Replace the target URL and keep the access key private. ScreenshotNeo can capture one CSS-selected element or the full page, set dark mode, choose a device or viewport, use retina scale, wait for a selector, delay, or network idle, block ads and trackers, provide custom headers, cookies, user agents, authorization, timezone, and geolocation, inject CSS or JavaScript, click an element, hide selectors, resize images, cache with a chosen TTL, create signed links, run asynchronous jobs with signed webhooks, capture up to 100 URLs per bulk call, and return usage information. PDF jobs support paper size, margins, landscape mode, and page ranges. HTML/CSS can also be rendered directly to an image.
Only clean shots are billed. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits cost nothing, and each response identifies the result with X-Page-Verdict and X-Billed headers. Use those headers in logs so retries and billing decisions are visible.
9. Troubleshooting checklist
| Symptom | Likely cause | Fix |
|---|---|---|
| There is no full-page command | Browser version or menu label differs | Search for Screenshot/Web capture, update the browser, or use Firefox DevTools |
| Only the visible viewport is saved | Visible-area mode was selected | Choose Capture full page or Save full page |
| Bottom sections are blank | Lazy loading or a timeout | Wait longer, trigger loading, or configure a selector/delay/network-idle wait |
| Popup covers the result | Consent, newsletter, or chat overlay | Dismiss it manually or use ScreenshotNeo cleanup, hidden selectors, and custom JavaScript |
| API returns an error | Invalid key, URL, or request parameters | Check the key, URL encoding, response status, and the API documentation |
| Private content is missing | Remote request has no session | Supply the required cookies, headers, or Authorization value |
| Image is too large to open | Very tall page or high device scale | Use PDF, lower retina scale, resize the output, or capture a specific element |
10. Performance, reliability, and cost
Native browser capture is usually simplest for a one-off image because it uses the page and session already open on your computer. It is less convenient for scheduled jobs, many URLs, or reproducible builds because the result depends on browser version, viewport, login state, extensions, and page timing.
For automation, make the capture deterministic: set a viewport or device, wait for a known selector or network idle, disable animations with custom CSS, and record the URL and options. Cache stable pages with a TTL when appropriate. For large jobs, use bulk capture or asynchronous jobs with signed webhooks instead of holding one request open.
ScreenshotNeo’s Free plan includes 1,000 shots per month with no card. Paid plans are Starter $5 for 3,000, Growth $15 for 15,000, Pro $39 for 60,000, Scale $99 for 250,000, and Business $249 for 1,000,000; yearly billing gives two months free. Every feature is available on every plan.
11. FAQ
Can I capture a full page as a PDF?
Yes. GoFullPage lists PDF export, Firefox and Edge can print pages to PDF, and ScreenshotNeo supports PDF paper size, margins, landscape mode, and page ranges.
Does full-page capture work on pages behind a login?
A browser can use your current login session. A remote API needs the session cookies or authorization headers supplied in the request.
Why does a full-page image have different widths?
Capture width follows the viewport or device setting. Responsive sites may render a different layout at another width, so choose the intended viewport before capturing.
Can an AI agent take these screenshots?
ScreenshotNeo includes an MCP server with take_screenshot, get_page_info, and capture_pdf tools for Claude, Cursor, and other MCP clients.
Create a free ScreenshotNeo account to get 1,000 screenshots a month with no card. Cookie banners, popups, and chat widgets are removed before the shot; bot checks, blank pages, and failed loads are never billed; and paid plans start at $5 for 3,000 shots.


