ScreenshotNeo

BlogGuides

What Is a Long Screenshot? Complete Guide to Scrolling and Full-Page Captures

A long screenshot captures content beyond the visible screen in one tall image. Learn how it works on Android, iPhone, Windows, and the web.

By the ScreenshotNeo team1 October 20267 min read

A long screenshot is one tall image that includes content below the visible screen. Also called a scrolling screenshot, scroll capture, or full-page screenshot, it extends the capture while a page or app scrolls so you can share one file instead of many separate screenshots.

Long screenshots are useful for webpages, conversations, documents, receipts, bug reports, and design reviews. The exact controls depend on your operating system, device maker, app, and whether the content exposes a normal scrollable surface.

How a long screenshot works

A normal screenshot records only the current viewport. A long screenshot repeats the process as the content moves downward, then combines the captured sections into one image. Some devices scroll automatically; others let you drag an endpoint. The result is usually a PNG or JPEG, while a browser or capture service may also offer a PDF.

  • Single image: the complete capture is easy to download or attach.
  • Extended height: content below the fold is included.
  • Scrollable source: the page, app, or document must expose more content to scroll.
  • Platform limits: protected, dynamically rendered, or nonstandard interfaces may not support the feature.

Take a long screenshot on Android

Google documents scrolling screenshots on devices running Android 12 and up on most screens that allow scrolling. Manufacturer software can use different labels, icons, and limits.

  1. Open the webpage, conversation, document, or app screen.
  2. Take a normal screenshot with your device shortcut, usually Power plus Volume Down.
  3. In the screenshot controls, tap Scroll, Capture more, or a similarly named option.
  4. Continue until the required content is included, or let the device scroll automatically.
  5. Tap Save or the share control.

Android troubleshooting

Symptom Likely cause Fix
No scrolling option The screen has no additional scrollable content, or the app does not expose a supported surface. Scroll manually first, try the same content in a browser, or use a capture tool that supports the page.
Capture stops early The app reports an internal boundary or lazy-loads content slowly. Wait for content to load, capture in smaller sections, or use a browser full-page capture.
Images are missing Images load only after scrolling or require a network connection. Scroll through the page once, confirm the images are visible, then capture again.
Text or controls overlap The app uses a custom renderer that the scrolling tool cannot stitch cleanly. Export the document directly, use a PDF, or capture several focused sections.

Take a long screenshot on iPhone

On iPhone, Apple provides a Full Page option for supported content, most clearly documented for webpages such as Safari pages. It is not available in every app.

  1. Open the webpage or supported document.
  2. Take a screenshot with the side button and Volume Up, or your model’s screenshot shortcut.
  3. Tap the screenshot thumbnail before it disappears.
  4. Select Full Page when it is offered.
  5. Review the extended preview, then save or share using the available control.

Why Full Page may be missing on iPhone

  • The current app does not support a full-page export.
  • The screen contains no additional scrollable content.
  • The content is protected or rendered in a way the system cannot extend.
  • You are viewing a surface other than a supported webpage or document.

When Full Page is unavailable, save the source as a PDF if the app offers that command, or capture several shorter sections and combine them in an editor.

Long screenshots on Windows and desktop

Microsoft’s documented Windows Snipping Tool modes are Freeform, Rectangle, Window, Full screen, and Video snip. They do not include a documented scrolling mode. For a long webpage, use a browser’s full-page capture command or a third-party utility. Compatibility and pricing vary, so check the current documentation for the tool you choose.

Browser full-page capture

  1. Open the page at the URL you need to document.
  2. Open your browser’s developer tools or command menu.
  3. Choose the full-page or capture-entire-page command when available.
  4. Save the generated image and inspect the bottom and any lazy-loaded sections.

Browser capture is usually better for a webpage than manually stitching screenshots because it can render the page at a consistent viewport. It can still fail on infinite scroll, sticky elements, cross-origin frames, animations, authentication walls, and pages that change while loading.

Long screenshot versus PDF

Need Long screenshot PDF
Visual fidelity to one continuous page Strong; one tall image May reflow content across pages
Searchable text Usually no, unless OCR is added Often yes when generated from document text
Sharing in chat or issue trackers Simple image preview Requires a PDF viewer or attachment
Very long documents Can become unwieldy or large Usually easier to paginate and print

Choose a long screenshot for visual reference, quick sharing, or a single-page design review. Choose a PDF when pagination, printing, selectable text, or archival is more important.

Capturing a long webpage in code

For repeatable captures, automation avoids manual scrolling. A browser automation script can open a URL, wait for it to settle, and save a full-page image. The exact API differs by framework; a minimal Playwright example is:

import { chromium } from 'playwright';

const browser = await chromium.launch();
const page = await browser.newPage({ viewport: { width: 1440, height: 900 } });
await page.goto('https://example.com', { waitUntil: 'networkidle' });
await page.screenshot({ path: 'long-page.png', fullPage: true });
await browser.close();

For production jobs, add an explicit timeout, wait for a known selector, disable animations where appropriate, and record the URL and viewport with the output. Full-page browser screenshots can be expensive because each job starts a browser and downloads page resources.

Or skip the browser setup

ScreenshotNeo provides a website screenshot API. One GET request returns a PNG, JPEG, WebP, or PDF, and its full-page option loads lazy images before capture. Cookie and consent banners, newsletter popups, and chat widgets are removed before the shot. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed; response headers identify the page verdict and whether the request was billed.

See the ScreenshotNeo API documentation for all options, including full-page capture, custom CSS and JavaScript, waits, blocked resources, authentication headers, caching, signed links, asynchronous jobs, and bulk capture.

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}`);

ScreenshotNeo also includes an MCP server with take_screenshot, get_page_info, and capture_pdf tools for Claude, Cursor, and other MCP clients. The Free plan includes 1,000 shots each month with no card; paid plans start at $5 for 3,000 shots. Create a free ScreenshotNeo account.

Options that matter for reliable long captures

  • Full page: include content below the viewport.
  • Element selector: capture only a specific article, receipt, or panel.
  • Viewport and device: reproduce desktop or mobile layouts; ScreenshotNeo supports 12 device presets and arbitrary viewports.
  • Retina scale: increase pixel density for sharper output.
  • Wait conditions: wait for a selector, a delay, or network idle.
  • Hide selectors: remove banners or changing elements.
  • Custom CSS and JavaScript: stabilize layout, close menus, or reveal content.
  • Resource controls: block ads, trackers, requests, or resource types to reduce noise and load time.
  • Authentication: pass custom headers, cookies, user agents, or Authorization values for private pages.
  • Timezone and geolocation: render region-specific pages consistently.
  • Output controls: choose PNG, JPEG, WebP, PDF, transparent background, or image resizing.

Performance, reliability, and cost

Very tall images use more memory, take longer to transfer, and can be difficult to view. Capture only the needed element when possible, choose a sensible viewport, block unnecessary third-party resources, and prefer PDF for extremely long documents. For repeat requests, caching with a chosen TTL avoids rendering unchanged pages.

Dynamic pages need deterministic waits. A fixed delay alone can be too short on a slow connection and wasteful on a fast one; combine a selector wait with a maximum timeout. Check the bottom of every capture for clipped content, missing lazy images, sticky headers repeated down the image, and cookie dialogs.

For bulk work, asynchronous jobs and signed webhooks let your worker receive completion events, while bulk capture supports up to 100 URLs per call. Use retries with backoff for transient network failures, keep request IDs and verdict headers in logs, and avoid retrying a permanent 4xx configuration error.

Troubleshooting checklist

  1. Confirm the source actually scrolls and that the desired content is loaded.
  2. Wait for a stable selector or network idle before capturing.
  3. Disable animations and blinking cursors that can create seams.
  4. Check authentication, cookies, geolocation, and timezone settings.
  5. Inspect blocked resources; an over-broad block can remove required images or styles.
  6. Try an element capture when full-page stitching is too large.
  7. Use a PDF when the image becomes unreadable or exceeds practical dimensions.

FAQ

Is a long screenshot the same as a scrolling screenshot?

Yes. Both describe one capture that extends beyond the visible viewport.

Can every app make a long screenshot?

No. The app must expose supported scrollable content, and protected or custom-rendered screens may prevent extension.

Why is my long screenshot blurry?

The source may be captured at a low pixel scale or resized during sharing. Use a higher device or retina scale and avoid repeated recompression.

What should I use for an extremely long page?

Use a PDF or several focused images when one tall bitmap becomes too large to read, store, or share.

Can I automate long screenshots for many URLs?

Yes. Browser automation works, and ScreenshotNeo provides bulk capture for up to 100 URLs per call plus asynchronous jobs for webhook-based workflows.