ScreenshotNeo

BlogHow-to

How to Take a Full-Page Screenshot of a Website in Chrome on Ubuntu

Use Chrome DevTools on Ubuntu to save a full-page screenshot, check dynamic content, and troubleshoot common capture issues.

By the ScreenshotNeo team4 October 20265 min read

To capture a whole website page in Chrome on Ubuntu, open DevTools, press Ctrl+Shift+P, type screenshot, and choose Capture full size screenshot. Chrome saves an image of the full page, including content beyond the visible browser viewport.

Capture the full page in Chrome

  1. Open the target website in Chrome.
  2. Open DevTools. For example, right-click the page and choose Inspect.
  3. Press Ctrl+Shift+P to open the DevTools Command Menu. You can also open DevTools’ Customize and control DevTools menu and select Run command.
  4. Type screenshot in the command menu.
  5. Select Capture full size screenshot. Chrome will generate and download the image.
  6. Open the saved image and check that the expected page content is present.

Chrome’s DevTools documentation describes this command as capturing the whole page, including content that is not currently visible in the viewport. The procedure applies to Chrome on Linux, including supported 64-bit Ubuntu versions. Chrome Help lists 64-bit Ubuntu 18.04 or later as supported; the exact menu wording can vary by Chrome version. Chrome DevTools Command Menu documentation · Chrome system requirements.

Choose the right screenshot command

Command What it captures Use it when
Capture screenshot The current browser viewport You need only the visible area.
Capture full size screenshot The full page, including content outside the viewport You need a long-page image.
Capture area screenshot A region you select You need a specific rectangular portion. Area capture does not work when DevTools is undocked from the browser window.

These commands are available from the DevTools Command Menu. Choose based on the area you need; the viewport command does not substitute for a full-page capture. See the official command menu guide.

Dynamic pages and edge cases

A full-size capture includes the page as Chrome renders it for the capture, but a screenshot command cannot guarantee that every website has finished loading every piece of content. Check the result when working with:

  • Lazy-loaded images or sections: Content may load only after scrolling near it. If it is missing, scroll through the page first, wait for the content to appear, and capture again.
  • Infinite-scroll pages: These may add more content as you scroll and may not have a stable final page height. Scroll to load the portion you need, then inspect the saved image; the official documentation does not promise a complete capture of arbitrarily long infinite feeds.
  • Content that changes after load: Wait for the relevant content to settle before capturing. Animations, rotating banners, and live data can make the saved frame differ between attempts.
  • Very long pages: Review the output for missing sections or an unexpected crop. Page dimensions and browser resources can affect the result.
  • Embedded content: An iframe or third-party embed may load or render separately from the surrounding page. Verify that the embedded area appears as expected.

The official DevTools instructions define the full-size command, but do not specify behavior for every lazy-loading, infinite-scroll, or embedded-content case. Treat the saved image as the source of truth.

Troubleshooting

Problem Likely cause What to do
The shortcut does not open the command menu DevTools is not open or keyboard focus is elsewhere. Open DevTools with Inspect, click inside its panel, and press Ctrl+Shift+P. Alternatively, use Customize and control DevTools → Run command.
The image contains only what was visible You selected Capture screenshot, which captures the viewport. Repeat the steps and choose Capture full size screenshot.
Part of the page is blank or missing The content may be lazy-loaded, delayed, or supplied by an embed. Scroll to load the relevant content, wait for it to render, capture again, and inspect the image.
The page is cut off or its layout looks different The page may resize or change while content loads, or it may be unusually long. Wait for layout changes to finish and recapture. For dynamic or infinite-scroll pages, capture a settled state and check the output.
Area capture is unavailable DevTools is undocked. Dock DevTools to the browser window, then run Capture area screenshot again.
A menu label differs from these steps Chrome or DevTools may have a different version. Search for screenshot in the Command Menu and choose the full-size option. Chrome’s UI labels can change.

Or skip the browser setup

If you need repeatable captures in a script or service, ScreenshotNeo is a website screenshot API and MCP server. One GET request can return a PNG, JPEG, WebP, or PDF. Its API can capture full pages and load lazy images; it also supports options such as viewport and device presets, wait conditions, custom CSS or JavaScript, and request blocking. See the ScreenshotNeo API documentation.

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 YOUR_API_KEY with your key and change the target URL as needed. The response is the image bytes; the Node.js example checks the HTTP status before saving them.

  • Cookie and consent banners, newsletter popups, and chat widgets are removed before the shot; each cleanup step can be turned off.
  • Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are never billed. Response headers report the page verdict and billing status.
  • An 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; every feature is on every plan.

Sign up for ScreenshotNeo’s free plan to get 1,000 screenshots a month with no card.

Reliability, performance, and cost

Chrome DevTools is a built-in manual option: the documented workflow requires no screenshot API account or service plan. Allow time for the page to load, especially when it contains delayed or lazy content, and inspect the saved image when completeness matters. The procedure captures the rendered page; it does not establish that every dynamic page will finish loading or expose all content automatically.

For a one-off screenshot, use DevTools. For recurring captures, scripts, or AI-agent workflows, an API can remove repetitive browser steps. ScreenshotNeo bills only clean shots and identifies the page verdict and billing status in response headers. Its listed monthly plans are Free: 1,000 shots; 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. Check the product site for current plan details.

FAQ

Does Chrome on Ubuntu support full-page screenshots?

Yes. Chrome DevTools documents the full-size screenshot command, and its keyboard shortcut documentation applies to Linux. Google lists 64-bit Ubuntu 18.04 or later among Chrome’s supported Linux environments.

Where does Chrome save the screenshot?

Chrome downloads the generated image. Check the browser’s downloads list or the configured downloads folder.

Can I capture only one part of a page?

Yes. Use Capture area screenshot from the DevTools Command Menu. DevTools must be docked to the browser window for area capture.

Does a full-size screenshot guarantee every lazy-loaded item is included?

No such guarantee is stated in the official DevTools documentation. Scroll to trigger the content you need, wait for it to appear, and inspect the result.