ScreenshotNeo

BlogScreenshots on your device

How to Capture a Full Web Page in Chrome on a Mac

Capture an entire scrolling page in Chrome on a Mac with DevTools, troubleshoot common issues, and learn when an API can simplify repeat captures.

By the ScreenshotNeo team4 October 20265 min read

Quick answer: In Chrome on your Mac, open the page, open DevTools, press Command+Shift+P, type screenshot, then choose Capture full size screenshot. This DevTools command captures the page beyond the part currently visible in the browser window.

Capture the full page from Chrome DevTools

  1. Open the web page you want to capture in Chrome.
  2. Open DevTools. You can use Chrome’s menu to open Developer Tools, or use the shortcut Command+Option+I.
  3. With DevTools open, press Command+Shift+P to open the Command Menu. You can also open the DevTools menu and choose Run command. Chrome documents this Mac shortcut and Command Menu workflow in its DevTools Command Menu guide.
  4. Type screenshot in the Command Menu.
  5. Choose Capture full size screenshot. Chrome captures the full page, including content outside the current viewport.

The precise menu wording or position can vary between Chrome releases. If the command is not visible immediately, leave DevTools open, type the full word screenshot, and inspect the matching commands.

Alternative: capture from Device Mode

Device Mode is useful if you want to capture the page while working with an emulated phone or tablet viewport. Chrome’s Device Mode documentation describes capturing a full-size screenshot, including page content that is outside the viewport.

  1. Open DevTools and turn on Device Mode using the device toolbar button, or press Command+Shift+M.
  2. Choose a device preset or set the emulated viewport you need.
  3. Open the Device Mode More options menu.
  4. Choose Capture a full size screenshot.

Use the Command Menu for the shortest route on a typical desktop page. Use Device Mode when the emulated viewport is part of what you need to capture. Device emulation is a browser preview, so it may not match every detail of a physical device.

Full-page capture versus a normal Mac screenshot

macOS screenshot shortcuts capture the screen or a selected region. For example, Command+Shift+3 captures the screen, and Command+Shift+4 lets you select an area. Those are useful for what is visible on screen, but they do not scroll through a long web page. For a page extending below the viewport, use Chrome DevTools’ full-size capture command. See Apple’s Mac screenshot instructions for its built-in screen capture shortcuts.

What to check before capturing

  • Wait for the page to finish loading. If images or page sections are still appearing, the capture may not include their final state.
  • Scroll through the page first if it lazy-loads content. Some sites load images or sections only as you approach them. Scrolling can prompt more content to load before capture.
  • Set the page state you want. Close menus, dismiss dialogs, or scroll to the position that triggers the content you need before capturing.
  • Check the result before sharing it. Very long pages can create large images, and interactive or dynamically loaded sections can look different in a static capture.

The research sources do not establish a dependable file format, output dimensions, or save location for every Chrome version. Check the result and your browser’s download behavior rather than relying on a fixed format or destination.

Or skip the browser setup

If you need repeatable captures from a script or service, ScreenshotNeo provides a website screenshot API. One GET request returns a screenshot or PDF. See the ScreenshotNeo API documentation for request options.

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}`);
if (!res.ok) throw new Error(`Screenshot request failed: ${res.status}`);
const bytes = new Uint8Array(await res.arrayBuffer());
await import('node:fs/promises').then(fs => fs.writeFile('shot.webp', bytes));

Replace the example URL with the page you want to capture. ScreenshotNeo removes cookie banners, newsletter popups, and chat widgets before the shot; each of those steps can be turned off. Bot checks, blank pages, and failed loads are never billed, and response headers report the page verdict and billing status. An MCP server lets AI agents use screenshot tools. The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 screenshots.

Sign up for 1,000 free screenshots a month, with no card required.

Troubleshooting

The Command Menu does not open

Make sure DevTools has focus, then press Command+Shift+P. If the shortcut still does not work, open the DevTools menu and select Run command. On a Mac, use the Command key rather than Control.

I only see the visible screen in the result

You likely used a macOS screen or region capture, or chose a viewport-sized screenshot command. Reopen the DevTools Command Menu, search for screenshot, and select Capture full size screenshot. In Device Mode, choose More options and then Capture a full size screenshot.

The screenshot misses images or sections

The page may still be loading, or the site may load content as you scroll. Wait for loading to settle and scroll through the page to trigger lazy-loaded sections, then capture again. Some pages update continuously, so a static screenshot may not include content that appears after capture.

The result is unexpectedly large

A full-page image includes content far below the visible browser area. For a very long page, consider whether you need the entire page or only a specific region. If you need recurring captures with configurable output, an API can provide options such as image resizing and element capture.

The command label differs from these steps

Chrome’s interface can change across releases. Search the Command Menu for screenshot and choose the command that explicitly says it captures the full size of the page. The menu label is corroborated by Chrome Help community guidance; the official DevTools documentation confirms the Command Menu workflow and Device Mode route.

Performance, reliability, and cost

Chrome DevTools is built in, so the documented workflow requires no purchase or separate screenshot service. Capture time and result size depend on the page and how much content it contains. For consistent results, allow dynamic content to settle and trigger lazy-loaded sections before capturing.

DevTools is a practical choice for occasional manual captures. For automated jobs, repeatable output, or captures from an application, a screenshot API can avoid running and maintaining a browser workflow yourself. ScreenshotNeo offers configurable capture options, including full-page capture with lazy images loaded, CSS selector element capture, waits, custom CSS and JavaScript, caching, and asynchronous jobs. Its listed plans are Free (1,000 shots/month), 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, and every feature is on every plan.

FAQ

Does Chrome need an extension for a full-page screenshot?

No. The DevTools Command Menu and Device Mode provide built-in full-size screenshot commands.

Can I use the Mac screenshot shortcut to capture an entire scrolling page?

The standard screen and selection shortcuts capture the screen or a selected region. Use Chrome DevTools for the whole scrolling page.

Can I capture a full page in a mobile layout?

Yes. Turn on Device Mode, select or configure an emulated viewport, and use its More options menu to choose the full-size screenshot command.