How to Save a Web Link as a PDF on Mobile
Save any webpage as a PDF on iPhone or Android with Safari or Chrome, plus troubleshooting and an automated ScreenshotNeo option.
Quick answer
On an iPhone in Safari, open the page, tap the page menu or Share, choose Markup, then use Save File To. On Android in Chrome, open the page, tap More > Share > Print, select Save as PDF, choose a location, and save.
The exact button position can vary with your browser layout and operating-system version. The steps below follow Apple’s Safari instructions and Google’s Chrome for Android instructions. Apple’s Safari guide and Google’s Chrome guide are the authoritative references.
Save a webpage as a PDF on iPhone
Safari steps
- Open Safari and load the web link you want to keep.
- Open the page menu and tap Share. Depending on whether Safari’s tab layout is at the top or bottom, the Share button may be visible directly.
- Tap Markup. Safari creates a PDF of the webpage that you can annotate.
- Tap Done, if Safari shows that button.
- Choose Save File To.
- Enter a filename, select a folder in Files or iCloud Drive, and tap Save.
Open the Files app and browse to the folder you selected to confirm that the PDF is there. You can rename it, move it, attach it to an email, or share it from Files.
If the buttons look different
Safari’s controls move when you change the tab layout or use a different iOS release. Look for the page menu or Share control first, then look for Markup. The wording may be slightly different, but the route remains a webpage share followed by Markup and a file-save action.
Save a webpage as a PDF on Android
Chrome steps
- Open Chrome and navigate to the webpage.
- Tap More (the three-dot menu).
- Tap Share.
- Choose Print.
- In the print destination selector, choose Save as PDF.
- Tap the save button, choose a folder or storage location, and confirm the filename.
You do not need a physical printer. Selecting Save as PDF writes the print preview to a PDF file on your device. Open your file manager or the Downloads folder to find it.
PDF versus offline reading
Chrome also offers an option to save pages for offline reading. That creates an offline browser copy, not a PDF file. Use Share > Print > Save as PDF when you need a portable document that you can attach, archive, or open in another PDF reader. Google documents offline reading separately in its offline-pages guide.
Which method should you use?
| Phone and browser | Menu path | Result |
|---|---|---|
| iPhone Safari | Page menu or Share > Markup > Save File To | PDF saved through Files |
| Android Chrome | More > Share > Print > Save as PDF | PDF saved to device storage |
These documented routes apply to the named browser and platform pairs. Other mobile browsers may expose different menus, so check that browser’s current help if you do not see these choices.
When a webpage does not save cleanly
Mobile browsers create the PDF from the page as it is rendered for printing or markup. A page with expandable sections, login-only content, infinite scrolling, or aggressive popups may not look exactly like the screen view. Before saving:
- Wait for the page to finish loading.
- Expand any section whose contents must appear in the file.
- Dismiss cookie notices or overlays that cover the article.
- Scroll through the page once if images or lazy-loaded sections appear late.
- Check the resulting PDF immediately and repeat after changing the page state if needed.
There is no universal guarantee that every website will paginate perfectly; the official platform instructions explain the save workflow, not the rendering behavior of every site.
Troubleshooting
Markup or Save File To is missing on iPhone
Cause: You may be using a different share sheet, or the page menu is collapsed by the current tab layout.
Fix: Tap the page menu or Share button again and scroll through the available actions until Markup appears. Confirm that the page is open in Safari rather than inside another app’s embedded browser.
Print is missing on Android
Cause: The Android share sheet may hide actions below the first row.
Fix: Swipe through the share targets or tap the additional-actions control, then select Print. Make sure the link is open in Chrome.
The PDF is blank or incomplete
Cause: The page may not have finished loading, or content may appear only after interaction.
Fix: Wait for loading to finish, dismiss overlays, expand required sections, scroll through the page, and create the PDF again. For a login-protected page, sign in before opening the save flow.
The file cannot be found
Cause: It was saved to a different folder than expected.
Fix: On iPhone, check the location selected in Save File To in the Files app. On Android, check the folder selected in the save dialog and the device’s Downloads location.
The PDF is too large to share
Cause: Long pages and high-resolution images increase file size.
Fix: Save only the needed page or section where possible, or use a PDF compressor after confirming that the document does not contain sensitive information.
Automate webpage PDFs from a phone or backend
If you need repeatable captures instead of a one-off mobile save, ScreenshotNeo provides a website capture API that can return a PDF. It supports full-page capture, lazy-image loading, paper size, margins, landscape mode, page ranges, custom CSS and JavaScript, cookies and headers, waiting for a selector or network idle, and other capture controls. See the ScreenshotNeo API documentation for the current PDF options and parameter names.
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)
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}`);
These examples show the required request shape; configure PDF output using the documented PDF option for your request. The API also supports signed links, asynchronous jobs with signed webhooks, bulk capture of up to 100 URLs per call, caching with a chosen TTL, and a usage API.
Or skip the browser setup
ScreenshotNeo removes cookie and consent banners, newsletter popups, and chat widgets before capture. Bot checks, blank pages, failed loads, timeouts, and cache hits are not billed, and response headers report the page verdict and billing status. An MCP server lets Claude, Cursor, and other MCP clients use screenshot tools, including take_screenshot, get_page_info, and capture_pdf.
The Free plan includes 1,000 shots per month with no card. Paid plans start at $5 for 3,000 shots, and every feature is available on every plan.
Create a free ScreenshotNeo account.
Performance, reliability, and cost considerations
- Speed: Full-page captures, lazy-loaded images, JavaScript, and network-idle waits take longer than a short static page. Use only the waits and page scope you need.
- Repeatability: Set a fixed viewport, device preset, timezone, geolocation, headers, cookies, and user agent when consistent output matters.
- Cost control: Cache repeated URLs with a TTL, use element capture instead of full-page capture when appropriate, and use bulk capture for batches. ScreenshotNeo bills only clean shots; failed loads and cache hits are not billed.
- Security: Keep API keys server-side. Use signed links when a public image or document URL is required, and avoid putting private credentials in client-side code.
FAQ
Can I save a webpage as a PDF without a printer?
Yes. Android Chrome’s Save as PDF destination creates a file without connecting to a printer.
Is an offline page the same as a PDF?
No. Offline reading stores a browser-readable copy. Use the print-to-PDF route when you need a PDF file.
Will the PDF include the entire webpage?
It depends on how the page renders and whether content loads or requires interaction. Wait for loading, expand needed sections, and inspect the saved file.
Can I automate this for many links?
Yes. A capture API such as ScreenshotNeo can process URLs programmatically and supports PDF capture, bulk requests, waiting rules, and webhooks.


