ScreenshotNeo

BlogHow-to

How to Take a Full-Page Screenshot in Chrome Without Scrolling

Capture an entire webpage in Chrome with DevTools, handle lazy loading and long pages, and automate reliable screenshots with ScreenshotNeo.

By the ScreenshotNeo team1 October 20266 min read

Use Chrome DevTools’ Device Toolbar. Open the page, enable Device Toolbar, open More options, and select Capture a full size screenshot. Chrome captures the whole page, including content outside the current viewport, so you do not need to scroll manually or install an extension. Chrome’s Device Mode documentation describes this command.

Capture a full webpage in Chrome

  1. Open the webpage you want to capture.
  2. Open DevTools from Chrome’s menu. Common shortcuts are F12 or Ctrl+Shift+I on Windows/Linux and Cmd+Option+I on macOS. If those shortcuts differ on your system, use the Chrome menu.
  3. Turn on the Device Toolbar by selecting the device-shaped icon. Common shortcuts are Ctrl+Shift+M on Windows/Linux and Cmd+Shift+M on macOS.
  4. In the Device Toolbar, open More options (the three-dot menu).
  5. Select Capture a full size screenshot.
  6. Find the downloaded image in Chrome’s download shelf or Downloads page.

The full-size command is different from Capture screenshot, which records only the visible viewport. Chrome documents both choices in the Device Toolbar menu.

Choose the right Chrome capture command

Goal Command Result
Capture the entire document Device Toolbar → More options → Capture a full size screenshot The full rendered page, including content below the viewport
Capture only what is visible Device Toolbar → More options → Capture screenshot The current viewport
Capture a selected region Open the Command Menu, search for screenshot, then choose Capture area screenshot A rectangle you drag on the page

The Command Menu workflow is for an area selection; use the Device Toolbar’s full-size command for the whole page. See Chrome’s Command Menu documentation for the area-capture procedure.

Make the page ready before capturing

Wait for dynamic content

Let fonts, images, charts, and client-rendered sections finish loading before you capture. If a page updates continuously, pause the update where possible or capture after the content reaches the state you need.

Check lazy-loaded images

Chrome confirms that the command captures the whole page, but its documentation does not promise that every site-specific lazy-loading script will load every offscreen asset first. For an important image, inspect the result and confirm that below-the-fold images, ads, charts, and embeds are present.

Account for virtualized and nested scrolling layouts

Infinite feeds and virtualized lists often render only a small window of items. A full-page screenshot records what the browser renders; it cannot include feed history that the page has not placed in the document. Content inside a nested scrolling panel may also require a separate capture or a page-specific method.

Use a stable viewport

Set the Device Toolbar to the width you want before capturing. Responsive breakpoints can change navigation, columns, and text wrapping, which changes the screenshot’s height and layout.

What Chrome’s built-in method does not guarantee

  • It does not guarantee that script-driven or lazy-loaded content appears if the page has not rendered it.
  • It does not document a universal maximum page height or output format in the cited Device Mode documentation.
  • It does not promise that every nested scroll container or virtualized feed is expanded.
  • It captures the page state at capture time; live prices, rotating banners, animations, and personalized content can change between runs.

For archival or test work, save the result with the page URL, viewport, timestamp, and any state or login information needed to reproduce it.

Troubleshooting full-page captures

Symptom Likely cause Fix
No full-size option appears Device Toolbar is not enabled, or the menu was opened outside it Enable the device-shaped toolbar icon, then open its own More options menu.
Only the visible screen is captured Capture screenshot was selected Repeat the process and choose Capture a full size screenshot.
Images are missing near the bottom Lazy loading or an image request has not completed Wait for the page to settle, interact with the page if it requires a trigger, then capture again. Verify the output.
A feed ends early The site uses virtualization or infinite scrolling Load the needed items using the site’s own controls, or capture the feed in sections. Chrome cannot screenshot content that is not rendered.
A panel is cut off The content is inside a nested scroll area Capture that element separately or use a page-specific export. The full-document command follows the page’s rendered document, not every independent scroll pane.
Text or layout changes between captures Responsive breakpoints, web fonts, animation, or personalized state Keep the viewport fixed, wait for fonts, pause animation where possible, and use a consistent browser profile.
The download cannot be found Chrome saved it to the configured Downloads folder Check the download shelf or open Chrome’s Downloads page and reveal the file location.

When to use an extension

An extension is optional. It can be convenient when you want a toolbar button, scrolling-and-assembly workflow, or additional export and editing controls. Extension permissions, behavior, and availability can change, so review the current store listing and privacy information before installing one. Chrome’s built-in Device Toolbar remains the documented no-extension method.

Automate full-page screenshots with an API

Manual DevTools capture is useful for occasional work. For scheduled reports, visual regression tests, bulk URLs, or server-side jobs, an API avoids opening Chrome for every page. ScreenshotNeo provides a GET endpoint that returns PNG, JPEG, WebP, or PDF. Its full-page mode loads lazy images, and options include a viewport or device preset, retina scale, waits for a selector, a delay or network idle, custom CSS and JavaScript, hidden selectors, cookies, headers, a user agent, timezone, geolocation, caching, and async jobs. See the ScreenshotNeo API documentation for request parameters.

Or skip the browser setup

Call ScreenshotNeo once with the page URL:

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
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)
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 removes cookie and consent banners, newsletter popups, and chat widgets before the shot. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers identify the page verdict and billing result. Its MCP server lets Claude, Cursor, and other MCP clients use take_screenshot, get_page_info, and capture_pdf. The free plan includes 1,000 screenshots each month with no card; paid plans start at $5 for 3,000 shots. Create a free ScreenshotNeo account.

Performance, reliability, and cost considerations

  • Browser capture: speed depends on page size, scripts, network conditions, and whether content is lazy-loaded. A very tall page can consume substantial memory while Chrome builds the image.
  • Repeatability: fix the viewport and browser state, wait for stable content, and inspect captures for missing assets.
  • API capture: use an explicit wait condition for pages that render asynchronously, a cache TTL for repeated identical captures, and async jobs or bulk capture for larger batches. ScreenshotNeo supports up to 100 URLs per bulk call and signed webhooks for async jobs.
  • Cost: Chrome’s built-in command has no service charge. With ScreenshotNeo, only clean shots are billed; failed loads and cache hits cost nothing. Plans include Free 1,000/month, Starter $5/3,000, Growth $15/15,000, Pro $39/60,000, Scale $99/250,000, and Business $249/1,000,000. Yearly billing gives two months free.

FAQ

Can Chrome take a full-page screenshot without an extension?

Yes. Use Device Toolbar → More options → Capture a full size screenshot.

Does full-size capture require scrolling?

No manual scrolling is required. Chrome captures the full rendered document through the Device Toolbar command.

Can I capture only part of a page?

Yes. Use the Command Menu’s Capture area screenshot command and drag over the region.

Why is my infinite scroll content missing?

Virtualized pages may render only the items currently needed. Load the required items first or capture sections separately.

Can I create PDFs instead of images?

Chrome has separate print-to-PDF tools. For API-based PDF capture with paper size, margins, landscape mode, and page ranges, use ScreenshotNeo’s capture_pdf tool or PDF options.