ScreenshotNeo

BlogHTML to image & PDF

How to Convert a Webpage to PDF Online from Chrome

Save any open webpage as a PDF from Chrome on desktop or Android using the built-in Print workflow, with fixes for layout and saving problems.

By the ScreenshotNeo team1 October 20267 min read

Fast answer: Open the webpage in Chrome, start Print, choose Save as PDF as the destination, review the preview, and save the file. On Windows and Linux press Ctrl+P; on Mac press Command+P. On Android, use More > Share > Print, then choose Save as PDF.

The word “online” can be confusing here. You do not need to upload the page to a separate converter for Chrome’s built-in method. The webpage is already open in Chrome, and Chrome creates the PDF through its print workflow.

Convert a webpage to PDF on a computer

Windows and Linux

  1. Open the webpage in Chrome.
  2. Press Ctrl+P, or open the three-dot menu and choose Print. You can also use File > Print where that menu is available.
  3. In the print dialog, set the destination to Save as PDF.
  4. Check the preview and adjust the available print settings.
  5. Click Print, choose a folder and filename if Chrome asks, and save the PDF.

macOS

  1. Open the page in Chrome.
  2. Press Command+P, or choose the print command from Chrome’s menu.
  3. Choose Save as PDF as the destination.
  4. Review the preview and settings.
  5. Click Print, select where to save the file, and confirm.

Google documents the desktop keyboard shortcuts and the Save as PDF destination in its Print from Chrome – Computer help article.

Convert a webpage to PDF on Android

  1. Open the webpage in Chrome.
  2. Tap More (the three-dot menu).
  3. Tap Share, then choose Print.
  4. In print preview, select Save as PDF.
  5. Choose a save location and tap Print to create the PDF.

The final button can still say Print even though the selected destination is a PDF file. Chrome’s official sequence is documented in Print from Chrome – Android, which states: “To save your print preview as a PDF, tap Save as PDF.”

Use the preview to catch layout problems before creating the file. The exact controls can differ by operating system, device and webpage.

Setting When to use it
Pages Save all pages or a selected page range when the document is long.
Layout Use portrait for most articles; choose landscape for wide tables or diagrams.
Paper size Match the paper size expected by the reader or printer.
Margins Change margins when content is too close to an edge or wastes space.
Scale Reduce or increase content when a heading, table or image is clipped.
Headers and footers Turn them off when you do not want the page title, URL or date printed.
Background graphics Enable them when the page depends on colored backgrounds or visual blocks.

Do not assume the preview will match every website perfectly. Responsive layouts, print-specific CSS, lazy-loaded images, embedded viewers and scripts can change what appears. Inspect the preview at several pages before saving.

Save Page As versus Save as PDF

Save as PDF creates the PDF requested in this guide. Save Page As saves a webpage in Chrome’s page-saving format, which may include an HTML file and a folder of related resources. It is a different output and is not the print-to-PDF route.

Chrome’s download guidance covers the separate Save Page As and download-location options. If the recipient needs a PDF, use Print > Save as PDF.

Common problems and fixes

The Save as PDF destination is missing

Open the destination menu in the print dialog and look for the PDF option. On managed computers, an administrator or operating-system print service may affect available destinations. Reopen the print dialog after selecting the system print interface if Chrome offers both.

The PDF is blank

Wait for the webpage to finish loading, including content that appears after scrolling. Reload the page, dismiss overlays, and open print preview again. A site that renders its content only after scripts run may not produce a complete printout.

Images or fonts are missing

Wait until images finish loading and check the preview. If the page uses colored sections or background images, enable background graphics when that option is available. Some pages intentionally hide elements in print stylesheets.

A table or code block is cut off

Try landscape orientation, a smaller scale, a different paper size or narrower margins. If the page remains wider than the printable area, the site’s responsive or print CSS may require a different layout.

Only the visible part of a long page appears

Check the page range and preview pages. Some infinite-scroll pages load more content only when you scroll; scroll through the page first, then reopen print preview.

The file saved somewhere unexpected

Chrome’s download settings can use a default folder or ask where to save each download. Review Chrome’s download settings or search the filename in your operating system. Android presents a save location during the print workflow, and the file-picker design varies by device.

Close the element before printing when possible. Some overlays are part of the page’s print output and can cover content. Reader mode or a site’s print view may also produce a cleaner result when offered.

The page requires a login

Print while signed in and confirm that the protected content appears in preview. Never share the resulting PDF if it contains information that the original access controls restrict.

The PDF is very large

Reduce unnecessary background graphics, remove unused pages and avoid printing several copies of image-heavy pages. If the source itself contains high-resolution media, the PDF may remain large even after those changes.

When Chrome’s built-in workflow is enough

  • You need a one-off PDF of the page currently open.
  • You can inspect the output manually.
  • The page loads correctly in Chrome and does not require automation.
  • You do not need a repeatable process for many URLs.

Or skip the browser setup

For an automated capture pipeline, ScreenshotNeo provides a website screenshot API that can return a screenshot or PDF. Its capture process accepts cookie and consent banners, removes more than 60 known consent platforms plus newsletter popups and chat widgets, and lets you turn each cleanup step off. Bot checks, blank pages, timeouts, failed loads and cache hits are not billed, and the response identifies the result with X-Page-Verdict and X-Billed headers.

See the ScreenshotNeo API documentation for PDF options such as paper size, margins, landscape mode and page ranges.

cURL

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,
)
r.raise_for_status()
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}`);
if (!res.ok) throw new Error(`HTTP ${res.status}`);
const body = Buffer.from(await res.arrayBuffer());
require('fs').writeFileSync('shot.webp', body);

ScreenshotNeo also supports full-page capture with lazy images loaded, CSS selector element capture, dark mode, device presets, custom viewports, retina scale, custom CSS and JavaScript, clicks, waits, blocked requests, custom headers and cookies, timezone and geolocation, caching with a chosen TTL, signed links, asynchronous jobs, signed webhooks, bulk capture of up to 100 URLs per call, usage reporting and an OpenAPI specification. An MCP server exposes take_screenshot, get_page_info and capture_pdf for Claude, Cursor and other MCP clients.

Free accounts include 1,000 shots per month with no card. Paid plans start at $5 for 3,000 shots; every feature is available on every plan. For a repeatable PDF or capture workflow, create a free ScreenshotNeo account.

Performance, reliability and cost considerations

  • Manual Chrome conversion: Best for occasional files. You can verify the preview, but each page requires an interactive session.
  • Dynamic pages: Allow enough time for scripts, images and lazy content to load before opening print preview.
  • Repeatability: Record the URL, print settings and date when the PDF is part of a process that must be reproduced.
  • Privacy: The documented Chrome workflow does not require a third-party converter. Review the page’s content and your organization’s policies before sharing a PDF.
  • Automated volume: An API avoids opening a browser for every URL and can expose verdict and billing headers so your application can handle failed or unbillable captures.
  • Cost control: Chrome’s built-in workflow has no converter fee. ScreenshotNeo offers 1,000 free shots monthly, and cache hits and failed captures are not billed.

Checklist before you send the PDF

  • Did the title, main content and images appear in the preview?
  • Are tables, code blocks and wide elements readable?
  • Did you select the intended page range, orientation, paper size and margins?
  • Are headers, footers, URLs or dates included only if you want them?
  • Did you check that overlays or private content are not covering or exposing information?
  • Did you open the saved PDF once to confirm it is not blank or truncated?

FAQ

Do I need a printer?

No. Choose Save as PDF as the destination. The print command creates a file instead of printing on paper.

Can I do this without installing an extension?

Yes. Chrome’s built-in print workflow is sufficient for the documented desktop and Android steps.

Is Save Page As the same as Save as PDF?

No. Save Page As stores a webpage format; Print > Save as PDF creates a PDF.

Why does Android’s final button say Print?

Android can keep the button label “Print” after you select Save as PDF. The selected destination determines that a PDF file is saved.

Can Chrome create a PDF from several URLs automatically?

The built-in workflow is designed for the page you have open. For automated, repeatable capture across URLs, use an API such as ScreenshotNeo or another tool that meets your requirements.