ScreenshotNeo

BlogHow-to

How to Print a Full Webpage to PDF

Print or save any complete webpage as a readable PDF on desktop, Android, or iPhone, with fixes for missing content and bad page breaks.

By the ScreenshotNeo team1 October 20269 min read

How do I print a full webpage to PDF? Open the page, use your browser’s Print command, choose a PDF destination such as Save as PDF, review the preview, then save. The print preview controls determine page range, orientation, scale, margins, headers, footers, colors, and backgrounds. Because websites use different print styles and load content in different ways, always inspect the preview before sharing or archiving the file.

1. Print a full webpage to PDF on a computer

Google Chrome (Windows, Linux, and Mac)

  1. Open the webpage in Chrome.
  2. Choose File > Print, or press Ctrl+P on Windows/Linux or Command+P on Mac.
  3. For Destination, choose Save as PDF.
  4. Set the page range, paper size, orientation, scale, margins, and whether background graphics should print.
  5. Check the preview from the first page through the final section. Confirm that images, tables, and the bottom of the article are present.
  6. Select Save, choose a folder, name the file, and save it.

Chrome’s documented desktop workflow is the standard starting point: open Print and select a PDF destination. Google’s print instructions describe the shortcut and destination choices.

Firefox (desktop)

  1. Open the page and open the Firefox menu.
  2. Select Print.
  3. In Destination, choose Save to PDF.
  4. Review page range, orientation, scale, paper size, margins, headers and footers, color, and background options shown on your platform.
  5. Use the preview to verify the final page, then select Print and save the PDF.

Firefox may offer an Original or Simplified format. Simplified format can remove navigation and other clutter, but it can also omit background printing. Firefox documents these settings and warns that a site may arrange itself differently on paper. See Firefox’s print documentation.

Microsoft Edge

  1. Open the webpage.
  2. Choose Settings and more > Print, or press Ctrl+P on Windows or Command+P on macOS.
  3. Choose a PDF destination, then inspect the preview.
  4. Adjust scale, orientation, paper size, margins, headers and footers, and page range as needed.
  5. Save the PDF.

Edge exposes scaling choices such as fit to printable area, actual size, and custom scale. If the page is dominated by navigation or unrelated controls, try Immersive Reader where it is available, then compare the preview. Microsoft notes that Immersive Reader is not available for every site. See Microsoft’s Edge printing guidance.

2. Save an entire webpage as a PDF on Android and iPhone

Android Chrome

  1. Open the webpage in Chrome.
  2. Tap More (the three-dot menu), then Share, then Print.
  3. Open print settings if you need to change paper size, pages, color, or orientation.
  4. Choose Save as PDF.
  5. Pick a storage location and save the file.

These steps follow Google’s Chrome for Android instructions.

Safari on iPhone

  1. Open the page in Safari and tap the Share or More button. Its position varies with the tab layout.
  2. Tap Markup.
  3. When the preview is ready, tap More and Done.
  4. Choose Save File To, name the PDF, select a folder, and save it.

Apple documents this Share > Markup route for annotating and saving a webpage as a PDF: Apple’s PDF and Markup guidance.

Firefox for iOS full-page capture

  1. Take a screenshot while the page is open in Firefox.
  2. Select Full Page.
  3. Tap Done, then choose Save as PDF.

This is a full-page screenshot-to-PDF workflow rather than the paginated print-preview route. Mozilla describes it in its Firefox for iOS screenshot documentation.

3. Make the PDF complete and readable

A PDF can be technically generated while still missing lazy-loaded images, clipping columns, or breaking tables in awkward places. Use this checklist before relying on it:

  • Check the end: scroll the preview to the final page and confirm the last section appears.
  • Check horizontal content: switch to landscape or reduce scale if columns, code, or tables are cut off.
  • Check page breaks: look for headings stranded at the bottom of a page, split tables, and blank pages.
  • Decide on backgrounds: backgrounds can preserve a design, but they may consume ink and reduce contrast.
  • Choose headers and footers deliberately: they can identify the source and date, but reduce printable space.
  • Wait for dynamic content: let charts, images, and expandable sections finish loading before opening Print.
  • Handle authentication: sign in first if the page requires an account; a print dialog cannot bypass access controls.
  • Compare simplified modes: Firefox Simplified format or Edge Immersive Reader may remove navigation and ads, but availability and output vary by site.

Browser print rendering is site- and platform-dependent. Firefox explicitly cautions that websites may arrange themselves differently on paper, and Edge documents per-site availability for Immersive Reader. Treat the preview as the source of truth.

4. Print versus a full-page screenshot PDF

Need Print to PDF Full-page capture
Paginated document for filing or submission Usually the better fit; controls include paper size, margins, scale, and page range. May require its own pagination or PDF settings.
Pixel-accurate copy of the screen layout Print CSS can change colors, spacing, and navigation. Captures the rendered page appearance.
Long page with lazy-loaded images May omit content that never loaded before printing. Use a capture workflow that waits and loads lazy images.
Removing cookie banners, chat, or popups Depends on the site and browser mode. A capture service can remove known overlays before capture.

Use the browser workflow when you need a quick, local, paginated PDF. Use an automated capture workflow when you need repeatable output across many URLs, controlled waits, custom headers, or cleanup of overlays.

5. Automate a webpage PDF with ScreenshotNeo

ScreenshotNeo is a website screenshot API and MCP server. Its capture endpoint can return PDF output and supports full-page capture, lazy-image loading, paper size, margins, landscape mode, and page ranges. It can also wait for a selector, a delay, or network idle; provide headers, cookies, a user agent, authorization, timezone, or geolocation; run custom CSS or JavaScript; click an element; hide selectors; block ads, trackers, requests, or resource types; cache a result with a chosen TTL; and submit asynchronous jobs with signed webhooks. Every plan includes the features.

Before capture, ScreenshotNeo accepts cookie or consent banners like a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets. Each cleanup step can be turned off. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed; the response identifies the result with X-Page-Verdict and X-Billed headers.

One PDF request with cURL

curl -G "https://api.screenshotneo.com/v1/shot" \
  -d access_key=YOUR_API_KEY \
  --data-urlencode url=https://stripe.com \
  -d format=pdf \
  -o page.pdf

Python

import requests

r = requests.get(
    "https://api.screenshotneo.com/v1/shot",
    params={
        "access_key": "YOUR_API_KEY",
        "url": "https://stripe.com",
        "format": "pdf",
    },
    timeout=90,
)
r.raise_for_status()
open("page.pdf", "wb").write(r.content)

Node.js

const q = new URLSearchParams({
  access_key: 'YOUR_API_KEY',
  url: 'https://stripe.com',
  format: 'pdf'
});
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
if (!res.ok) throw new Error(`ScreenshotNeo returned ${res.status}`);
const data = Buffer.from(await res.arrayBuffer());
require('fs').writeFileSync('page.pdf', data);

See the ScreenshotNeo API documentation for parameter names and the OpenAPI specification. Parameters used by other screenshot APIs also work, which can simplify migration.

Useful PDF and capture controls

  • PDF layout: paper size, margins, landscape, and page ranges.
  • Completeness: full-page capture with lazy images loaded; wait for a selector, delay, or network idle.
  • Content selection: capture one CSS-selected element, hide selectors, click an element before capture, or add custom CSS and JavaScript.
  • Environment: dark mode, 12 device presets or any viewport, retina scale, timezone, and geolocation.
  • Access and privacy: custom headers, cookies, user agent, and Authorization.
  • Noise control: block ads, trackers, requests, or resource types; use transparent backgrounds where applicable.
  • Operations: choose a cache TTL, use signed links for public <img> tags, submit asynchronous jobs with signed webhooks, capture up to 100 URLs per bulk call, and read usage through the usage API.

Or skip the browser setup

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -d format=pdf -o page.pdf

Cookie banners, popups, and chat widgets are removed before the shot. Bot checks, blank pages, and failed loads are never billed. An MCP server lets AI agents take screenshots through tools such as take_screenshot, get_page_info, and capture_pdf. The Free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000 shots.

Create a free ScreenshotNeo account.

6. Troubleshooting common PDF problems

Problem Likely cause Fix
The bottom of the page is missing The preview was opened before lazy or dynamic content finished loading. Wait for the page to settle, scroll through it once, then reopen Print. For automation, wait for a selector, delay, or network idle.
Text or tables are cut off on the right Content is wider than the selected paper. Use landscape orientation, a smaller scale, a wider paper size, or a print-friendly view.
Images are blank Images are lazy-loaded, blocked, or still downloading. Scroll to trigger loading, check network access, and print again. An automated capture should enable lazy-image loading and an appropriate wait.
Cookie notice, chat bubble, or newsletter covers content The overlay is part of the rendered page. Dismiss it before printing, use a simplified reading mode where available, or hide the selector in an automated capture.
Colors or backgrounds disappeared Background printing is disabled or simplified mode was selected. Enable background graphics when available, or use the original format instead of Simplified.
Headers and footers consume too much space Browser-added metadata is enabled. Disable headers and footers or reduce scale, then inspect the preview again.
A page requires login The browser or capture request has no authenticated session. Sign in locally, or provide the required cookies, headers, or Authorization in an authorized automated request.
ScreenshotNeo returns a non-success response The URL, access key, or request options are invalid, or the target failed to load. Check the status code and response headers, verify the URL and key, simplify options, and inspect X-Page-Verdict and X-Billed.
The generated PDF is unexpectedly cached A previous result is being served within the cache TTL. Choose a suitable TTL or disable caching for workflows that need fresh content.

7. Performance, reliability, and cost considerations

  • Preview cost: local browser printing uses your computer or phone and does not require a PDF service.
  • Repeatability: save consistent paper, margin, scale, wait, and viewport settings when generating PDFs for a batch.
  • Speed: waiting for network idle or lazy images improves completeness but can increase capture time. Use a specific selector or short delay when you know exactly what signals readiness.
  • Reliability: authenticated pages, bot checks, JavaScript errors, timeouts, and third-party resources can change output. Keep the source URL, capture time, and relevant settings with important PDFs.
  • Cost control: ScreenshotNeo bills only clean shots. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are free, and response headers identify the verdict and billing status. Caching and bulk capture can reduce repeated work.
  • Plans: Free includes 1,000 shots per month with no card; Starter is $5 for 3,000; Growth $15 for 15,000; Pro $39 for 60,000; Scale $99 for 250,000; Business $249 for 1,000,000. Yearly billing gives two months free.

8. FAQ

Will printing create one very long PDF page?

Usually no. Browser Print creates a paginated PDF using the selected paper size, margins, and scale. A full-page capture workflow can preserve the complete page as a capture and can also produce PDF output with its own paper and page-range controls.

Can I print only part of a webpage?

Use the page-range controls for selected printed pages. Edge also documents printing a selected portion of webpage text or images. For automated capture, target one element with a CSS selector.

Why does the PDF look different from the screen?

Print styles, paper dimensions, scaling, hidden backgrounds, and browser-specific rendering can change layout. Always inspect the print preview and adjust orientation, scale, margins, or format.

Do I need a physical printer to save a PDF?

No. Select a PDF destination such as Save as PDF or Save to PDF; the file is written to storage without printing on paper.

Can an automated PDF include a page that needs cookies or a custom header?

Yes, when the capture tool supports an authenticated request. ScreenshotNeo accepts custom headers, cookies, user agents, and Authorization values; use only credentials you are authorized to provide.