Skip to main content
Tutorial7 min read

How to Capture an Entire Webpage as a PDF (Full Page, Nothing Cut Off)

A practical guide to capturing complete, nothing-missing PDFs of any webpage — including below-the-fold content, lazy-loaded images, and infinite scroll pages.

Full PageChromeExtension
Web-PDF.com

There's a specific frustration that comes from saving a webpage as PDF and opening the file to find it cut off halfway through the article, missing images below the fold, or cropped at an arbitrary page boundary in the middle of a paragraph. The content was on the screen. The PDF just didn't get all of it.

Capturing a complete webpage — especially a long one — requires a slightly different approach from the standard print shortcut. Here's how to do it reliably across different types of pages.

Why Pages Get Cut Off in PDFs

Print CSS vs screen CSS

When Chrome generates a PDF through the print dialog, it switches from screen CSS to print CSS. Many sites have minimal or no print CSS defined, so the browser falls back to defaults — which don't always match the screen layout. Content that spans the full width of the screen might be constrained to a narrower print column. Elements designed to stretch the full viewport height may be clipped.

Lazy loading

Most modern sites use lazy loading — images and sometimes text only load when you scroll close to them. If the page hasn't been fully scrolled before converting to PDF, those elements are blank placeholders in the output. This is the single most common reason images are missing from PDFs.

Infinite scroll

Pages that load new content dynamically as you scroll can't be fully captured in a static print snapshot unless the extension pre-scrolls the entire length first.

Method 1 — Chrome's Print Dialog with Pre-Scrolling

For pages with lazy-loaded content, a quick fix is to manually scroll the entire page from top to bottom before opening the print dialog. This forces all lazy-loaded elements to initialize.

  1. Open the page.
  2. Press End to jump to the bottom (or scroll manually).
  3. Wait for all images and content to load.
  4. Press Ctrl+P and proceed with Save as PDF.

This doesn't help with infinite scroll pages, but it works for most article and documentation pages. For a full overview of Chrome print dialog settings, the complete guide to saving webpages as PDF covers the options in detail.

Dealing with page break artifacts

Long pages often create awkward page breaks in the middle of images, tables, or headings. To reduce this:

  • Set scale to 85–90% — this gives more content per page and reduces awkward breaks.
  • Use Margins: None if content is getting cut at the edges.

Method 2 — GoFullPage Extension

GoFullPage is the most reliable single tool for full-page PDF capture. When activated, it scrolls the page from top to bottom triggering lazy-loaded content, takes a high-resolution scrolling screenshot of the entire page, stitches the captures together into a single continuous document, and exports as PDF (with selectable text) or PNG.

How to use:

  1. Install GoFullPage from the Chrome Web Store.
  2. Navigate to the page you want to capture.
  3. Click the GoFullPage icon in the toolbar (or press Alt+Shift+P).
  4. The capture runs automatically. A new tab opens with the result.
  5. Click the PDF icon to download.

GoFullPage handles most lazy-loaded and dynamically generated content because it physically simulates scrolling before rendering.

Method 3 — Chrome DevTools Full-Size Screenshot

This lesser-known built-in Chrome option captures the full page as a PNG, which you can then convert to PDF.

  1. Press F12 to open DevTools.
  2. Click the Toggle device toolbar icon (or press Ctrl+Shift+M).
  3. Click the ⋮ three-dot menu in the device toolbar.
  4. Select Capture full size screenshot.

Chrome renders and captures the entire page at whatever zoom level you've set. The output is a PNG file downloaded to your computer. To convert to PDF, open the PNG in Chrome and print it. This method is useful for single-page applications and JavaScript-heavy sites that don't render correctly through print CSS.

Method 4 — Headless Chrome via Command Line

For developers who need full-page PDFs regularly, Chrome's headless mode generates PDFs directly from a URL:

chromium --headless --print-to-pdf="output.pdf" "https://example.com"

This is scriptable, making it useful for batch conversion. For saving multiple webpages as PDFs in a workflow, the headless approach is the most scalable option.

Method 5 — SingleFile + Print

SingleFile saves the complete page as a self-contained HTML file — all resources embedded. This gives you a perfect local copy. From there, open the saved HTML file in Chrome and use Ctrl+P to print to PDF. Because SingleFile captures the full page and all its resources at the time of saving, the resulting PDF reflects the complete page state.

Handling Specific Difficult Page Types

Long documentation pages

Technical docs often have sidebar navigation that appears in every page of the PDF. Before capturing, use DevTools or a browser extension to remove the sidebar element, then convert. For capturing documentation as clean PDFs, removing navigation before capture is a consistent improvement.

Dashboards and data visualizations

Charts rendered with JavaScript (D3.js, Chart.js) may not render correctly in print CSS. Use the DevTools screenshot method or GoFullPage, which renders the actual browser view rather than the print stylesheet.

Pages with sticky navigation

Sticky headers follow the viewport, appearing on every PDF page. A quick fix: in DevTools, find the sticky element, add position: relative or display: none temporarily, then capture.

For comparing the output quality of different capture methods — including when a screenshot might actually be a better choice than PDF — there's a more detailed comparison worth checking.

Final Thoughts

Capturing an entire webpage as a complete, accurate PDF comes down to choosing the right method for the page type. GoFullPage handles the majority of cases automatically. Chrome's DevTools screenshot method works well for JavaScript-heavy pages. Pre-scrolling before the print dialog is the simplest fix for lazy-loaded content on standard pages.

Frequently Asked Questions

Does Chrome print-to-PDF capture the entire page?

It captures the full DOM, but pages with lazy-loaded content may be incomplete unless you scroll the page first. Dynamic pages benefit from using GoFullPage, which auto-scrolls before capturing.

What is the best free tool for full-page capture?

GoFullPage is the most reliable free option — it auto-scrolls and handles lazy loading before generating the PDF.

How do I capture infinite scroll pages as PDF?

GoFullPage handles this automatically by pre-scrolling. For Chrome's native print, manually scroll to the bottom before printing to trigger content loading.

Can I get a single long PDF page instead of multiple pages?

Yes. Some extensions offer a single-page output. In Chrome's print dialog, a custom paper size with a very long dimension produces a single continuous page.

Why is my full-page PDF missing images?

Lazy loading. Images only load when scrolled into view. Pre-scroll the page before printing, or use GoFullPage which scrolls automatically.