Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.
Chrome already includes a full-page capture command. Open the page, press Ctrl+Shift+I (Windows/Linux) or Command+Option+I (macOS), press Ctrl+Shift+P or Command+Shift+P, type screenshot, and select Capture full size screenshot. Chrome saves a PNG containing the rendered page, including content below the visible viewport.
Capture an entire webpage with Chrome DevTools
This built-in method needs no extension or account and works on Chrome for desktop. It captures the page’s scrollable rendered content as one tall PNG.
| # | Preview | Product | Price | |
|---|---|---|---|---|
| 1 |
|
The 138 Best Chrome Extensions | $2.99 | Buy on Amazon |
- Open the target page. Wait for the initial layout to finish. If the page loads images as you scroll, read the lazy-loading section below before capturing.
- Open DevTools. Use Ctrl+Shift+I on Windows or Linux, or Command+Option+I on macOS. You can also right-click the page and choose Inspect.
- Open the Command Menu. Press Ctrl+Shift+P on Windows/Linux, or Command+Shift+P on macOS.
- Search for the capture command. Type
screenshotin the Command Menu. - Choose Capture full size screenshot. Do not choose Capture screenshot; that command captures only the current viewport. Chrome downloads the full image as a PNG to your normal download folder.
Google’s DevTools documentation describes this command as capturing “the whole page including the content that isn’t currently visible in the viewport.” The same menu also offers viewport, selected-area, DOM-node and device-frame captures.
Free tools Windows power users keep installed
One-click scans. No signup required.
Prepare the page before you capture
A full-size screenshot records what Chrome renders, not an abstract copy of the HTML. A few checks prevent blank regions and missing content.
#1 Best Overall
Let asynchronous content finish
- Wait for fonts, hero images, charts and embedded media to settle.
- Dismiss or accept consent dialogs if they cover content you need. A banner present during capture will appear in the image.
- For infinite feeds, scroll through the page once so lazy images are requested. Virtualized feeds may discard earlier items as you scroll and cannot always be represented faithfully in one image.
Check nested scrolling areas
Capture full size screenshot follows the document’s page height. A chat panel, code window or table with its own overflow:auto scrollbar may remain limited to its on-screen size. Capture that element separately with DevTools’ node or area command, or use a tool that explicitly targets a CSS selector.
Watch fixed and sticky elements
Headers fixed to the viewport can appear repeatedly or overlap content depending on the page’s CSS and Chrome version. If the result is unusable, temporarily hide the header with a local style in DevTools, then capture again. This changes only your local view, not the published page.
Use a suitable window and zoom
The screenshot uses the emulated viewport and device scale that DevTools is using. Set the browser zoom and any device emulation deliberately, especially when documenting a responsive layout. Very tall pages can create large PNG files; close unrelated tabs and ensure sufficient disk space.
What Chrome’s full-size command captures—and what it does not
| Aspect | Result |
|---|---|
| Area | The rendered document, including content below the visible fold. |
| Default format | PNG downloaded by Chrome. |
| Installation | None; DevTools is built into desktop Chrome. |
| Annotations or redaction | Not included. Edit the image afterward or use an extension. |
| Nested scroll containers | Behavior depends on the page’s CSS; inner scrollbars are not guaranteed to expand. |
| Lazy and virtualized content | Only content rendered or loaded at capture time is reliable. |
| Privacy | The image is saved locally, but it includes anything visible to your logged-in browser session. |
When a Chrome extension is easier
An extension adds a toolbar button and can be more convenient if you capture pages frequently. Review each extension’s permissions and privacy policy before installing it, particularly on pages containing private customer or account data.
GoFullPage
The GoFullPage Chrome Web Store listing describes full scrolling-page capture with PNG, JPEG and PDF export. Its listing shows a change-log entry dated 2026-09-24. A toolbar workflow can be faster than opening DevTools, but extension behavior still depends on the page’s scrolling and rendering model.
Full Page Screen Capture
Another Chrome Web Store listing advertises an editor with annotation, redaction, OCR and cropping, plus PNG, JPG and PDF export. Those tools are useful for support tickets, QA evidence and documentation when you need to mark or obscure information after capture. Check the extension’s current permissions and terms yourself because listings and policies can change.
Choosing the right method
| Need | Best starting point | Reason |
|---|---|---|
| One occasional full-page PNG | DevTools command | No installation, account or extra permissions. |
| Frequent toolbar captures | A reviewed extension such as GoFullPage | Quick access and additional export formats. |
| OCR, redaction or annotations | An extension with an editor | Mark up the result before sharing. |
| Automated, repeatable captures | ScreenshotNeo | HTTP API, configurable rendering and explicit billing verdicts. |
Troubleshooting full-page captures
The screenshot contains only the visible viewport
Reopen the Command Menu and select Capture full size screenshot, not Capture screenshot. If the full-size entry is missing, make sure DevTools is open on the page you intend to capture and update Chrome if your build uses different command labels.
Images or sections are blank
Wait for network activity to stop, then scroll through the page to trigger lazy loading and capture again. A blocked third-party image, an authenticated request that expired, or a script that renders only after interaction can also produce blanks.
The page is cut off or an inner panel is incomplete
Inspect the layout for nested scrolling containers. Capture the panel’s DOM node or area separately, or use an automated service that supports element selectors. Infinite and virtualized feeds may require an export from the application itself rather than a single screenshot.
Sticky navigation covers text
Scroll to a position where the overlap is visible, identify the fixed element in the Elements panel, and temporarily disable its position: fixed or position: sticky declaration. Restore the rule after saving the image.
The file is enormous or Chrome fails to save it
Reduce the emulated viewport width or device scale, remove unnecessary high-resolution media, and close other applications. For very long documents, PDF or segmented captures may be more practical than one tall PNG.
PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minutePrivate information appears in the image
Use a clean profile or incognito window where appropriate, sign out of accounts that are not needed, and inspect the image before uploading it to a ticket or repository. Extensions add another party that may process page data, so review their permissions first.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Or skip the browser setup
ScreenshotNeo is a website screenshot API and MCP server for developers. A GET request returns PNG, JPEG, WebP or PDF, so a build job or script can capture pages without opening Chrome:
cURL (see the complete parameter reference in the ScreenshotNeo documentation):
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)
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}`);
ScreenshotNeo can accept consent banners before capture and remove more than 60 known consent platforms, newsletter popups and chat widgets; each cleanup step can be switched off. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads and cache hits cost nothing, and response headers report the page verdict and whether the request was billed. Its MCP server exposes take_screenshot, get_page_info and capture_pdf to Claude, Cursor and other MCP clients.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →Automation options
- Full-page capture with lazy images loaded.
- Capture one element by CSS selector; hide selectors; click an element before capture.
- Dark mode, 12 device presets, arbitrary viewports and retina scale.
- PDF paper size, margins, landscape mode and page ranges.
- HTML/CSS-to-image, custom CSS and JavaScript.
- Wait for a selector, a delay or network idle.
- Block ads, trackers, requests or resource types.
- Custom headers, cookies, user agent, Authorization, timezone and geolocation.
- Transparent backgrounds, image resizing, cache TTL you choose, signed links for public
<img>tags, asynchronous jobs with signed webhooks, bulk capture of up to 100 URLs per call, a usage API and an OpenAPI specification.
Common screenshot-API parameter names also work, which can reduce changes when switching providers. For repeat jobs, use an explicit wait condition, choose a cache TTL that matches how often the page changes, and inspect X-Page-Verdict and X-Billed before storing a result.
Plans and cost
| Plan | Allowance | Price |
|---|---|---|
| Free | 1,000 shots/month | $0, no card |
| Starter | 3,000 shots | $5 |
| Growth | 15,000 shots | $15 |
| Pro | 60,000 shots | $39 |
| Scale | 250,000 shots | $99 |
| Business | 1,000,000 shots | $249 |
Yearly billing gives two months free, and every feature is included on every plan. Sign up for ScreenshotNeo to get 1,000 screenshots a month free with no card.
FAQ
Can I save a full-page capture as PDF using Chrome itself?
Chrome’s DevTools command described here downloads a PNG. Use the browser’s print dialog for a PDF, or choose an extension or ScreenshotNeo when you need screenshot-specific PDF controls such as margins, paper size or page ranges.
Does full-page capture work on mobile Chrome?
The documented Command Menu workflow is for desktop DevTools. Mobile Chrome has different capture capabilities; use the device’s supported screenshot or sharing feature, or capture the page from a desktop or an automated service.
Why is a screenshot different from what I see while scrolling?
Scrolling can trigger scripts, lazy loading and animations. Capture after the page reaches the intended state, disable motion where possible, and use a deterministic wait condition for automated jobs.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

