How to Take a Screenshot Across Multiple Pages
Learn how to capture a full webpage or scrolling screen on iPhone and Android, save the right format, and automate multi-page captures.
Short answer: On iPhone, take a screenshot, open its preview, and choose Full Page. On Android 12 and later, take a screenshot and tap Capture more when the screen supports scrolling. These controls create one capture that includes content below the visible screen.
A normal screenshot records only the current viewport. A full-page or scrolling screenshot extends the capture through a webpage or other supported scrollable surface. The exact control depends on the device, operating-system version, app, and whether the content is actually scrollable.
1. Take a full-page screenshot on iPhone
Apple documents the following workflow, including Safari webpages, in its iPhone User Guide.
- Open the webpage or document.
- On an iPhone with Face ID, quickly press and release the side button and Volume Up together. On an iPhone with a Home button, press the side button and Home button together.
- Tap the screenshot preview that appears.
- Select Full Page at the top of the preview.
- Use the crop controls or Markup tools if needed.
- Save the result. Depending on the screen and iOS version, you can save it as an image to Photos or as a PDF to Files. Apple describes both save paths; check the current save menu on your device.
The Full Page tab may not appear for every app. It is most consistently available for supported webpages and documents. If the page is inside a nested scroll area, a web view, or an app that does not expose full-page capture, iOS may offer only the visible screenshot.
2. Take a scrolling screenshot on Android
Google’s Android instructions and Pixel instructions describe the same general process for Android 12 and later.
- Open the page or screen you want to capture.
- Take a screenshot. The standard Android gesture is Power + Volume Down. Some devices also let you hold Power and tap Screenshot.
- Tap Capture more in the screenshot controls.
- Drag the crop handles to include the required content.
- Tap Save or the equivalent confirmation control.
Capture more works on most screens that allow scrolling, but Google does not guarantee it for every app or surface. Phone manufacturers can also change the button label or placement. If the control is missing, check the manufacturer’s support documentation and verify that the screen has a normal scrollable layout.
3. Choose the right output
| Need | Best output | Reason |
|---|---|---|
| A tall image for a design review or archive | PNG or JPEG | Easy to open and annotate; PNG preserves sharp text better. |
| A document to print or share | Multiple pages and paper layout are easier to manage. | |
| Only one section of a long page | Cropped full-page capture | Reduces file size and removes unrelated content. |
| A page with sensitive information | Local image or PDF | Review and redact before sending it elsewhere. |
A very tall image can be awkward to view and may exceed limits in messaging or issue-tracking tools. PDF is often more practical when the page is document-like. If the device offers only PDF for a full-page capture, use that format or export the PDF to images afterward.
4. When the full-page option is missing
- Confirm the version: Android’s documented scrolling workflow requires Android 12 or later.
- Check the surface: the option generally requires a screen that the operating system recognizes as scrollable.
- Check nested scrolling: a page may scroll inside a panel while the outer screen does not. Try placing focus inside the panel first.
- Check the app: some apps deliberately disable system capture or provide their own export function.
- Try the browser’s print or save function: for a document or webpage, exporting to PDF may preserve all pages even when scrolling capture is unavailable.
- Use a sequence of ordinary screenshots: overlap the edges slightly so the images can be stitched later.
For a desktop browser, available full-page workflows vary by browser and operating system. Do not assume that a particular keyboard shortcut or built-in screenshot utility supports scrolling capture. Identify the browser, operating-system version, and target page before choosing a desktop procedure.
5. Capture webpages programmatically
For repeated captures, CI jobs, documentation, monitoring, or many URLs, an automated browser or screenshot API is more reliable than manual scrolling. A robust implementation should wait for the page to settle, load lazy content, and save a full-page image or PDF.
Browser automation checklist
- Set a viewport that matches the intended device or report.
- Wait for a selector, a short delay, or network idle after navigation.
- Enable full-page capture and verify that lazy-loaded images have appeared.
- Hide cookie banners, chat widgets, and sticky controls that obscure content.
- Use a PDF when page breaks and paper dimensions matter.
- Save a failure artifact such as the HTML response, console log, or visible screenshot.
Or skip the browser setup
ScreenshotNeo provides a website screenshot API and MCP server. One GET request returns a PNG, JPEG, WebP, or PDF. The API supports full-page capture with lazy images loaded, element capture by CSS selector, device presets or custom viewports, retina scale, dark mode, custom CSS and JavaScript, click actions, selector hiding, wait conditions, blocked resource types, custom headers and cookies, timezone and geolocation, transparent backgrounds, resizing, caching, signed links, asynchronous jobs, bulk capture for up to 100 URLs per call, and a usage API. See the ScreenshotNeo documentation for parameter names and examples.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
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)
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(`Screenshot failed: ${res.status}`);
const data = new Uint8Array(await res.arrayBuffer());
await Bun.write('shot.webp', data);
ScreenshotNeo removes cookie and consent banners, newsletter popups, and chat widgets before capture; each cleanup step can be disabled. Bot checks, CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed as clean shots, and the response identifies the result with X-Page-Verdict and X-Billed headers. Its MCP server exposes take_screenshot, get_page_info, and capture_pdf for Claude, Cursor, and other MCP clients.
The Free plan includes 1,000 shots per month with no card. Paid plans start at $5 for 3,000 shots; every feature is available on every plan. Use the free ScreenshotNeo account to begin.
6. Reliability and performance considerations
- Long pages: full-page images consume more memory and take longer to encode than viewport screenshots. Prefer WebP or JPEG when lossless PNG is unnecessary.
- Lazy loading: scroll-based apps may load content only after it enters the viewport. Wait for the relevant selector or use a capture system that loads lazy images.
- Sticky elements: fixed headers can repeat down a stitched image. Hide them or capture a selected element.
- Dynamic content: timestamps, ads, animations, and personalized modules can change between captures. Freeze animations with custom CSS when visual diffs must be stable.
- Authentication: private pages require an authenticated browser session or custom headers and cookies. Never place credentials in a public image URL.
- Retries: retry transient navigation failures with a bounded backoff, but record the final error and URL so a persistent failure is visible.
- Caching: cache stable pages when freshness allows it. Use a short TTL for frequently changing pages and a longer TTL for documentation snapshots.
7. Troubleshooting
| Problem | Likely cause | Fix |
|---|---|---|
| Full Page is not visible on iPhone | The app or surface does not support it. | Try Safari or the app’s export function; otherwise capture overlapping sections. |
| Capture more is missing on Android | Unsupported Android version, app, or non-scrollable surface. | Confirm Android 12+, test a normal webpage, and check the manufacturer’s instructions. |
| The capture stops before the bottom | Nested scrolling, lazy loading, or a virtualized list. | Capture the correct scroll container, wait for content, or export the document instead. |
| Cookie banner covers the image | The banner appeared after navigation. | Dismiss it manually, hide its selector in automation, or use ScreenshotNeo’s consent cleanup. |
| Images are blank | Lazy loading, blocked resources, or a timeout. | Wait for image selectors, allow required resource types, and inspect the page verdict or logs. |
| Text is blurry | The image was downscaled or captured at low device scale. | Use PNG or WebP, increase retina/device scale, and avoid repeated recompression. |
| Automated request returns an error | Invalid URL, credentials, timeout, or server response. | Check the HTTP status, URL encoding, access key, timeout, and response headers before retrying. |
8. FAQ
Is a scrolling screenshot the same as a full-page screenshot?
They describe the same goal: one capture containing content beyond the visible viewport. “Scrolling screenshot” is common on Android, while iPhone labels the control “Full Page.”
Can I capture an entire app screen?
Only when the operating system and app expose a supported scrollable surface. Apps can disable capture or use custom rendering that prevents the system from extending the screenshot.
Should I save a long page as an image or PDF?
Choose an image for visual review and a PDF for printing, pagination, or document sharing.
How do I capture only one element?
Use the device crop controls for a manual capture. In automation, target the element by CSS selector so unrelated navigation and page content are excluded.
What information should I provide when asking for help?
Include the device model, operating-system version, app or browser, whether the content scrolls normally or inside a nested panel, and whether you need an image or PDF.


