Recommended Free Tools
For a long webpage with missing lazy-loaded images, start with a URLbox full-page screenshot using full_page=true and its default stitch mode. Keep the initial scroll enabled: URLbox scrolls through the page to trigger lazy loading before capturing sections. If images are still missing, reduce scroll_increment and increase scroll_delay. Do not use skip_scroll=true for this problem. URLbox documents the full-page and stitch behavior.
Start with a stitched full-page capture
URLbox’s stitch mode is the default full-page method. It scrolls through the page, captures multiple sections, and combines them. That traversal is important for lazy-loaded content because many pages request an image only when its location approaches the viewport.
- Set
full_page=true. - Keep
full_page_mode=stitch, or omit the parameter to use the documented default. - Leave the initial scroll enabled. Avoid
skip_scroll=true, which skips the traversal intended to trigger lazy-loaded elements.
For example, adapt these settings to your target URL:
{
"url": "https://example.com/long-page",
"full_page": true,
"full_page_mode": "stitch"
}
URLbox’s Render Options reference describes the relevant scroll and wait parameters.
#1 Best Overall
Tune scrolling if images are still absent
Reduce the scroll increment
scroll_increment controls the distance between scroll steps. Some pages do not trigger lazy loading when the browser jumps too far, so try a smaller increment. URLbox gives 400 px as an example for pages that need smaller steps. This is a documented example, not a universal optimal value.
Allow more time after each scroll
scroll_delay adds a pause between section captures. Increase it when images, animations, or deferred content need time to appear after the browser scrolls. The following 500 ms value is a reasonable starting experiment, not a required setting or a guaranteed fix.
{
"url": "https://example.com/long-page",
"full_page": true,
"full_page_mode": "stitch",
"scroll_increment": 400,
"scroll_delay": 500
}
Smaller steps and longer pauses can increase rendering work and time; the right values depend on how the page triggers and fetches its images.
Rank #2
- Intuitive interface of a conventional FTP client
- Easy and Reliable FTP Site Maintenance.
- FTP Automation and Synchronization
Use selector waits for page-specific readiness
If the page has a reliable element that indicates it is ready, configure wait_for with that CSS selector and, if needed, wait_timeout. URLbox documents a default wait_timeout of 30,000 ms. The selector can be awaited as present or visible, depending on the option configuration.
Free tools Windows power users keep installed
One-click scans. No signup required.
A selector wait and scroll tuning solve different problems. A selector can ensure a known element exists, but it does not itself trigger content that loads only when scrolled into view, nor does it prove that every image’s bytes have finished loading. Retain the scroll behavior for lazy-loaded images. URLbox also offers wait_until conditions such as loaded, domloaded, requestsfinished, and mostrequestsfinished; choose a condition that fits the page rather than assuming any one guarantees all images are ready.
Choose stitch or native mode
| Mode | When to use it | Trade-off |
|---|---|---|
stitch |
Use first when you need scroll-triggered lazy content or reliable full-page coverage across varied sites. | Scrolls and captures sections before compositing, so it does more work. URLbox describes it as its default and more reliable approach. |
native |
Consider it when speed is more important and the page captures correctly without the stitched scrolling workflow. | It uses browser-native full-page capture and may be faster, but URLbox says it may not work well on all sites. |
For missing lazy-loaded images, stitch is the suitable first choice because its scroll is intended to trigger them. See URLbox’s full-page screenshot documentation for the mode descriptions.
Rank #3
Account for long pages and capture artifacts
Infinite scrolling
An infinite-scroll page may continue adding content as the browser moves down. URLbox says it detects infinite scrolling and limits capture to three sections by default. The allow_infinite=true option overrides that limit, but use it only when you know how much content should be captured; an indefinitely extending page can make the job unnecessarily large.
Sticky and fixed elements
Fixed headers and footers can appear in several stitched sections. URLbox says stitch uses heuristics to detect and capture most fixed elements once. Setting freeze_fixed=false disables that behavior. If section joins look wrong, turn on show_seams=true to inspect the individual captured sections.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Output format
For full-page image output, URLbox’s screenshots guide recommends PNG because image-size limitations can affect JPEG and WebP. Choose an output format with the size and downstream-use requirements in mind.
Rank #4
Queue unusually long renders asynchronously
Long full-page captures can take enough time that keeping a request open is inconvenient. URLbox recommends asynchronous rendering for heavy work such as long full-page screenshots. Its async renders and webhooks documentation covers queuing a render, checking its status, and receiving a webhook when it completes.
Troubleshoot by symptom
- Images are missing near the bottom: confirm
full_page=true, use stitch, and ensureskip_scrollis not enabled. Then test a smallerscroll_increment. - Images appear only intermittently: increase
scroll_delayso content has more time after each step; tune it for the specific page because no universal ideal is documented. - A wait condition finishes but images are absent: a page-load event or selector may not represent image readiness. Keep scroll-triggering enabled and wait for a meaningful page-specific element where available.
- The capture has seams or repeated fixed elements: inspect sections with
show_seams=true; consider the documented fixed-element handling and whetherfreeze_fixed=falsewas set. - The render is slow or the request takes too long: reduce unnecessary delays or excessive scroll work, while preserving enough scrolling for lazy loading. For particularly long captures, use URLbox’s asynchronous workflow.
- An infinite-scroll capture grows unexpectedly: remember the default three-section limit and avoid
allow_infinite=trueunless an extended capture is intentional.
Or skip the browser setup
ScreenshotNeo can return a screenshot or PDF from one GET request, without configuring a browser-rendering workflow yourself. This cURL example saves a WebP capture of the same kind of long page:
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com/long-page -o shot.webp
See the ScreenshotNeo documentation for the API details. ScreenshotNeo accepts cookie or consent banners like a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture; each cleanup step can be turned off. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers report the page verdict and billing status. Its MCP server provides screenshot tools for Claude, Cursor, and other MCP clients. The Free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 screenshots.
Sign up for ScreenshotNeo: get 1,000 free screenshots a month with no card.
Best Value
Frequently Asked Questions
Does URLbox’s 400 px scroll increment guarantee lazy-loaded images will appear?
No. URLbox gives 400 px as an example for pages that need smaller scroll steps; the right increment depends on the page.
Can a CSS selector wait replace scrolling for lazy-loaded images?
No. A selector wait can signal that a known element is present or visible, but scroll-triggered content still needs the browser to approach it.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

