Scrolling Capture
Capture full-length webpages, long source code files, or tall documents. Snapzy automatically stitches frames together as you scroll.
How to Use
Rather than taking multiple screenshots and manually stitching them, Scrolling Capture does the work for you. Just select the scrollable area, scroll down at a steady pace, and let Snapzy process the frames.
Stitch PreviewLive
- Trigger the capture using the shortcut โงโ6 or the URL
snapzy://capture/scrolling. - Drag a selection box covering only the scrollable content area. Avoid static headers, sidebars, or footers as they interfere with stitching.
- Press Start on the HUD.
- Scroll down slowly and steadily. You will see a live preview in the overlay showing the stitched image growing.
- Click Done or press Enter to save.
Auto Scroll
For a fully automated capture experience, Snapzy features Auto Scroll powered by macOS Accessibility APIs.
How it Works
- Once you lock your selection and click Start, the Auto Scroll button becomes available on the HUD.
- Click Auto Scroll to begin. Snapzy will automatically post precise scroll events to scroll the content for you.
- Pointer Guard: To keep the scrolling focused, the mouse pointer must remain inside the selected capture region. If you move the cursor outside the selection:
- Auto Scroll will pause.
- A warning guidance HUD will prompt you to Return mouse inside selection.
- Moving the cursor back inside the selection resumes the capture automatically.
- Auto-Finish: Once Snapzy detects that you have reached the bottom of the page or the height limit, it will automatically finalize the stitch and save the capture.
- Safety Stop: If the content fails to align properly after consecutive attempts (e.g., due to dynamic popups or layout shifts), Auto Scroll will stop automatically, allowing you to complete the capture manually.
[!IMPORTANT] Because Auto Scroll generates synthetic scroll events, Snapzy requires Accessibility permissions enabled in macOS System Settings. If permissions are missing, you will be prompted to grant them.
Under the Hood: How Stitching Works
Snapzy uses a hybrid capture pipeline to ensure accurate results even with complex layouts:
- Stream Frame Ring โ A high-framerate stream capturing the selected area and holding it in a ring buffer (
ScrollingCaptureFrameRing). - Fallback Still Frames โ If the scroll stream encounters lag or drops frames, Snapzy instantly triggers fallback static captures to prevent stitch gaps.
- Vision-Assisted Stitching โ Local Vision algorithms compare overlapping sections, identify matches, check confidence thresholds, and ignore redundant frames.
- Safety Checks โ If the scrolling is too fast or goes backward, the stitcher pauses and shows a warning HUD so you can adjust your speed without restarting the capture.
Best Practices for Clean Captures
1. Keep Selection Tight
Exclude non-scrollable headers, sticky navbars, or fixed side widgets. The stitcher expects the entire selected block to scroll uniformly.2. Scroll Smoothly
Use a mouse wheel or trackpad to scroll down in a motion. Avoid jumping sections rapidly.3. Avoid Hovering Elements
Keep your mouse cursor away from the selection area while scrolling to prevent hover card shadows or tooltip animations from breaking overlaps.Diagnostics & Logs
If you run into issues (e.g. stitching errors or misaligned text), you can examine Snapzy's diagnostic logs:
Scrolling capture logs timing data, frame ring statistics, and Vision confidence levels to your local log file:
~/Library/Logs/Snapzy/snapzy_YYYY-MM-DD.txt
You can filter the logs for scrolling debug statements using terminal:
grep 'ScrollingCaptureDebug' "$HOME/Library/Logs/Snapzy/snapzy_$(date +%F).txt"