How to Download a Website as a PDF in Chrome
Save any webpage as a PDF from Chrome on desktop or Android, find the file afterward, fix common print issues, and automate PDF capture when needed.
Quick answer: In Chrome on a computer, open the page, choose Print, set the destination to Save as PDF, then click Save. On Android, open the page, tap More (⋮) → Share → Print, choose Save as PDF, and save it to the location you select.
Chrome creates the PDF through its print-rendering pipeline. It is a document snapshot for reading, sharing, or printing; it is not a fully interactive copy of the live website.
Save a webpage as a PDF on desktop Chrome
- Open the webpage in Chrome and wait for the content you need to finish loading.
- Open the three-dot menu and choose Print. You can also use your operating system’s print shortcut.
- In the print preview, open Destination and select Save as PDF.
- Review the preview and adjust the available print settings.
- Click Save.
- Choose a filename and folder, then confirm the save.
Google’s Chrome instructions also describe selecting Save as PDF in print preview. If Google Drive for desktop is installed, Drive may appear as another destination in that preview. Chrome Help: Print from Chrome
Useful desktop print settings
| Setting | What it changes | When to use it |
|---|---|---|
| Pages | Prints all pages or a selected range. | Save only selected sections of a long article. |
| Layout | Switches between portrait and landscape. | Use landscape for wide tables or dashboards. |
| Paper size | Changes the page dimensions used for pagination. | Match the paper or document standard your recipient expects. |
| Margins | Controls the blank space around printed content. | Reduce margins when content is being clipped, if the preview permits it. |
| Scale | Shrinks or enlarges the rendered page. | Fit a wide layout onto the page without changing the website. |
| Headers and footers | Adds or removes items such as the page title, URL, date, and page numbers. | Turn them off for a cleaner document; leave them on when provenance matters. |
| Background graphics | Includes or omits CSS background colors and images. | Enable it when the design communicates meaning through background color. |
Save a webpage as a PDF on Android Chrome
- Open the webpage in the Chrome app.
- Tap the three-dot menu.
- Tap Share, then Print.
- In the printer selector, choose Save as PDF.
- Tap the save control, choose a storage location, and confirm.
Google documents this path as More → Share → Print → Save as PDF. Chrome Help: Print from Chrome
Where Chrome saves the PDF
The save dialog determines the final folder. If you accept Chrome’s default download location, the file goes there. On desktop, check Chrome’s download settings or open the downloads list to reveal the file. On Android, the system file picker lets you choose local storage or another location exposed by the device.
If you cannot find the file, repeat the save operation and note the folder shown in the dialog. Chrome’s download guidance explains that files use the default download location unless you change it. Chrome Help: Download a file
What the PDF preserves—and what it does not
A Chrome PDF is rendered for printing. Text, images, page breaks, and much of the print CSS can be included, but the result should be treated as a snapshot. Interactive controls, live data, scripts, login-dependent content, embedded media, and responsive behavior can render differently or be absent. This follows from Chrome’s print-preview workflow; Google’s procedure does not promise a pixel-perfect, interactive archive.
Before you print a long page
- Wait until the page finishes loading.
- Scroll through the page once so lazy-loaded sections have a chance to appear.
- Expand accordions or tabs whose contents must appear in the PDF.
- Sign in first if the page requires an authenticated session.
- Use the site’s print view or reader view when available.
- Check the entire preview, especially page breaks, tables, and images.
Common problems and fixes
| Problem | Likely cause | Fix |
|---|---|---|
| Save as PDF is missing | The destination selector or system print dialog is being used. | Open the Destination selector in Chrome’s print preview. If needed, reopen the system print dialog and look for the PDF option. |
| The preview is incomplete | Content is still loading or is lazy-loaded. | Wait, scroll through the page, expand required sections, reload, and print again. |
| Images or colors are missing | Background graphics are disabled, or the site uses print-specific CSS. | Enable Background graphics and compare the preview with the page’s print or reader view. |
| Text is cut off | The page is wider than the selected paper or scale. | Try landscape, a larger paper size, narrower margins, or a lower scale. |
| The PDF looks different from the page | Print CSS changes layout; scripts and live widgets are not preserved. | Use the site’s print view, simplify the page, or capture after the required state is visible. |
| The saved file cannot be found | A different folder was selected, or Chrome’s default location is unfamiliar. | Check the save dialog’s folder and Chrome’s download location. Search the device for the filename. |
| You need a cloud copy | The cloud destination is not enabled. | With Google Drive for desktop installed, check whether Google Drive appears in print preview; otherwise save locally and upload it. |
| A page requires a login | Chrome prints the currently available session. | Sign in before printing and confirm private content appears in the preview. Treat the resulting PDF as sensitive. |
When Chrome’s built-in PDF save is the right choice
Use Chrome when you need a one-off, local copy and can inspect the print preview yourself. It requires no service account, and the URL does not need to be uploaded to a conversion provider.
For repeatable jobs, many URLs, scheduled captures, controlled waits, or a consistent rendering environment, a dedicated capture API is easier to operate. Compare solutions by device support, control over rendering, fidelity for dynamic pages, privacy, post-processing, and whether failed captures consume quota.
Or skip the browser setup
ScreenshotNeo provides a website screenshot and PDF API. Its PDF endpoint accepts the same URL-based request style, so an automated job can save the response directly instead of opening Chrome for every page.
Before capture, ScreenshotNeo can accept cookie or consent banners and remove 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, and the response reports the page verdict and billing status in X-Page-Verdict and X-Billed headers. It also offers an MCP server with take_screenshot, get_page_info, and capture_pdf for Claude, Cursor, and other MCP clients.
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://example.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://example.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://example.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());
await import('node:fs/promises').then(fs => fs.writeFile('page.pdf', data));
Options that matter for PDF jobs
- Paper and layout: choose paper size, margins, landscape mode, and page ranges.
- Page readiness: wait for a selector, a delay, or network idle.
- Content control: load lazy images, click an element, hide selectors, add custom CSS or JavaScript, and block ads, trackers, requests, or resource types.
- Session control: send custom headers, cookies, a user agent, or an Authorization header; set timezone and geolocation when the page depends on them.
- Scale and output: use device presets or any viewport, retina scale, transparent backgrounds, and image resizing where applicable.
- Operations: cache with a chosen TTL, use signed links for public image tags, submit asynchronous jobs with signed webhooks, capture up to 100 URLs per bulk call, and read usage through the usage API.
For reliability, inspect the response headers, retry only transient failures, and choose waits that match the page rather than adding an arbitrary long delay. Cache stable pages when freshness permits. For cost control, remember that only clean shots are billed; failed loads, bot checks, blank pages, timeouts, and cache hits are free.
Plans include 1,000 screenshots per month free with no card, Starter at $5 for 3,000, Growth at $15 for 15,000, Pro at $39 for 60,000, Scale at $99 for 250,000, and Business at $249 for 1,000,000. Yearly billing gives two months free, and every feature is on every plan. Create a free ScreenshotNeo account to start with 1,000 screenshots a month and no card.
FAQ
Does saving a webpage as PDF require a printer?
No. Select Save as PDF as the destination in Chrome’s print preview.
Can I save a website as a PDF on Android?
Yes. Use More → Share → Print → Save as PDF, then choose where to save it.
Will links and buttons remain interactive?
The PDF is a print-rendered snapshot. Do not rely on live buttons, scripts, media, or other interactive behavior being preserved.
Why is my PDF missing content below the fold?
The page may still be loading lazy content. Wait, scroll through the page, expand the sections you need, and print again.
Can I automate PDF creation for many URLs?
Chrome is suited to manual saves. An API such as ScreenshotNeo is better for repeatable jobs, controlled waits, bulk capture, and webhooks.


