Does SingleFile save dynamic content loaded while scrolling?
SingleFile can save some content loaded while scrolling, but deferred capture is best effort. Learn what to enable, why virtual lists are different, and how to troubleshoot missing content.
Yes, sometimes. SingleFile has an option to save content loaded while scrolling, but its official help describes this as best effort. It can help expose deferred images, frames, and other content; it cannot guarantee that every site will load or preserve every item. The key question is whether the page keeps content in its document or removes and recreates it as you scroll.
1. Enable deferred-content capture
Open SingleFile’s options and enable Save content loaded while scrolling. The option is intended to capture content deferred until scrolling, and can sometimes save images without requiring you to scroll through the entire page yourself. It takes additional time and is not guaranteed to work on every site. See the SingleFile options help.
For pages that reveal content in response to scroll listeners, also try Simulate scrolling. SingleFile can dispatch scroll events while waiting for deferred content. This may help a page reveal content, but the project warns that simulated events can cause unexpected scrolling problems. If page behavior becomes troublesome, turn the option off.
- Load the page and wait for its initial content to settle.
- Open SingleFile’s options and turn on Save content loaded while scrolling.
- If the page appears to depend on scroll events, enable Simulate scrolling as well.
- Save the page, then inspect the resulting file for missing sections and images.
- If simulated scrolling disrupts the page, disable it and save again.
2. Identify what kind of scrolling content the page uses
Deferred or lazy-loaded content
A page may fetch images, frames, or other content only when scrolling brings them near view. The content is added to the page and may remain there. Deferred-content capture and simulated scrolling can help trigger that loading. The result still depends on the site’s own behavior and timing.
Virtualized content
A virtualized list may remove items that are far offscreen and create them again only when they return to view. At save time, the document may contain only the currently mounted items. A capture cannot include items that are absent from the page at that moment. SingleFile’s guide to saving AI chat conversations describes this behavior for long conversations and lists.
For a virtualized page, scroll through the specific range you need before saving, or use a site-specific method to expand or load the relevant items. Then save and check that the required range is present. This is a workaround, not a way to make SingleFile recover content the site has not rendered.
Very long pages and infinite virtual lists
SingleFile also offers Zoom out the page during the capture. Its help says this can help with cases such as infinite virtual lists. Treat it as a site-dependent workaround: verify the saved file because zooming does not guarantee that every item will be loaded.
3. Decide whether the saved page needs to remain interactive
Capturing the page’s appearance does not necessarily preserve its behavior. Folding titles, dynamic maps, and carousels can depend on JavaScript. SingleFile removes scripts by default because scripts may change rendering and may not work offline. If interaction matters, consult the SingleFile FAQ for script-related settings, and decide whether retaining scripts is appropriate for that page. Check the saved file directly; capturing controls does not ensure they will work offline.
4. Troubleshoot missing or incomplete content
| Symptom | Likely cause | What to try |
|---|---|---|
| Images or sections below the fold are missing | The site deferred loading them until scrolling. | Enable Save content loaded while scrolling; try Simulate scrolling if the page responds to scroll events. Save again and inspect the output. |
| The page saves only items near the current position | The site virtualizes its list and removes offscreen items. | Scroll through the range you need or use a site-specific expansion method so those items are rendered before saving. |
| Simulated scrolling moves or disrupts the page | Scroll events may trigger site behavior or interact unexpectedly with its layout. | Disable Simulate scrolling and retry. The deferred-content option may still help without it. |
| A long or infinite list is still incomplete | The site may be virtualizing items or not loading all entries during capture. | Try Zoom out the page during the capture, then verify the saved range. If items are absent, make the site render them before capture. |
| Buttons, maps, or carousels appear but do not work in the saved file | The interaction may depend on JavaScript, which is removed by default. | Review the FAQ’s script-related settings and check whether preserving scripts is suitable. Scripts may still alter rendering or fail offline. |
| The save takes longer than expected | Waiting for deferred content adds capture time. | Allow the capture to finish; if the page does not need deferred content, turn off that option for future saves. |
5. Set expectations for capture time and completeness
Deferred-content capture takes additional time because the page needs an opportunity to reveal content. Simulated scrolling may trigger useful site behavior, but can also cause unexpected scrolling problems. Virtualization presents a different limitation: if the site has removed an item from the document, the capture has nothing to save for that item. These are documented limitations, so inspect important saved pages instead of assuming every browser, site, or version will produce a complete archive.
6. Capture a clean screenshot with ScreenshotNeo
If you need a screenshot of the page rather than a self-contained SingleFile archive, ScreenshotNeo provides a website screenshot API and MCP server. A screenshot records the rendered view; it does not recover virtualized items the page has not rendered. The API documentation covers its capture options.
Or skip the browser setup
Make one GET request for a screenshot:
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,
)
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 request failed: ${res.status}`);
await Bun.write('shot.webp', res);
Replace the example URL with the page you want to capture. ScreenshotNeo accepts cookie and consent banners like a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets before the shot; each step can be turned off. Bot checks, CAPTCHAs, blank pages, timeouts, failed loads, and cache hits cost nothing, and response headers report the page verdict and billing status. Its MCP server provides take_screenshot, get_page_info, and capture_pdf for AI agents. The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 shots. Screenshot a page with the free ScreenshotNeo sign-up.
FAQ
Do I have to scroll through the whole page manually?
Not always. The deferred-content option may load some content without manual scrolling, but SingleFile describes it as best effort. Virtualized items may need to be rendered by scrolling or expanded through the site first.
Does saving a page preserve its interactive controls?
Not necessarily. Some controls rely on JavaScript, which SingleFile removes by default. Consult the FAQ settings if offline interaction is important.
Can SingleFile guarantee every item in an infinite list?
No. Zooming out may help on some pages, but a site can still defer or remove items. Check the saved page for the range you need.


