A Chrome/Brave extension that captures full-page screenshots by scrolling and stitching viewport captures together.
- Full-page capture - Automatically scrolls through the entire page and stitches screenshots together
- Keyboard shortcut -
Cmd+Shift+S(Mac) /Ctrl+Shift+S(Windows/Linux) - Smart filenames - Saves as
PageTitle_hostname_timestamp.png - Progress tracking - Shows capture progress, persists even if you close the popup
- Content expansion - Optional pre-capture to expand "Show more" buttons and lazy content
- Clone or download this repository
- Open
chrome://extensions(orbrave://extensions) - Enable "Developer mode" (toggle in top right)
- Click "Load unpacked" and select this folder
- The extension icon will appear in your toolbar
- Navigate to any webpage
- Click the extension icon
- Click "Capture Full Page"
- Wait for capture to complete (progress shown in popup)
- PNG automatically downloads to your default folder
- Navigate to any webpage
- Press
Cmd+Shift+S(Mac) orCtrl+Shift+S(Windows/Linux) - Capture runs in background and downloads automatically
- Go to
chrome://extensions/shortcuts(orbrave://extensions/shortcuts) - Find "Longshot"
- Click the pencil icon to change the shortcut
Click "Options" in the popup to access:
- Expand content before capture - Clicks "Show more" buttons and scrolls to load lazy content before capturing
- Gets page dimensions from content script
- Scrolls through page viewport by viewport
- Captures each viewport using
chrome.tabs.captureVisibleTab() - Stitches captures together in an offscreen document using OffscreenCanvas
- Downloads the final PNG
- Cannot capture browser internal pages (
chrome://,brave://,about:, etc.) - Very long pages may take time due to Chrome's capture rate limiting (~2 captures/second)
- Maximum canvas size is 32,767 pixels (browser limitation)
├── manifest.json # Extension configuration
├── background.js # Service worker - orchestrates capture
├── contentScript.js # Injected into pages - handles scrolling
├── offscreen.html # Offscreen document container
├── offscreen.js # Image stitching logic
├── popup.html # Extension popup UI
├── popup.js # Popup interactions
└── icons/ # Extension icons
- Chrome 116+
- Brave (latest)
- Edge (Chromium-based)
- Other Chromium browsers with Manifest V3 support
MIT