A fast, minimal, open-source Chrome extension for screenshots — capture the visible area, the full page, or a region of any tab and save it as PNG/JPG/WebP (or copy to clipboard). 100% local: no account, no cloud, no tracking.
- One-click capture: visible area · full page (scroll-stitch, sticky-header aware) · region select
- PNG / JPG / WebP, with a quality slider
- Tab recording to WebM, MP4 or GIF — choose one as the format, then Record and Stop recording (GIFs are 10 fps, up to 720px wide, and stop by themselves after about a minute)
- Record tab audio adds the tab's sound to WebM and MP4 recordings (off by default), and the tab keeps playing it to you while it records
- Filename templates —
{date} {time} {domain} {title} - Download or copy straight to clipboard
- Hide scrollbar before capturing keeps the scrollbar out of screenshots (on by default), except on chrome:// pages, the Web Store, other extensions' pages and data: URLs, where Chrome doesn't let extensions run scripts
- Keyboard shortcuts —
Alt+Shift+Vvisible area ·Alt+Shift+Ffull page ·Alt+Shift+Rregion ·Alt+Shift+Sstart/stop recording (change them atchrome://extensions/shortcuts). Select WebM, MP4, or GIF before starting a recording; an image format flashes!. The recording shortcut stops an active recording from any tab, regardless of the selected format. - Nothing leaves your device — see Permissions
- Open
chrome://extensionsand enable Developer mode - Load unpacked → select this folder
- Pin the ViewShot icon and click it (or use the keyboard shortcut)
activeTab— capture the tab you clicked the icon or pressed a shortcut onscripting— run the region selector, full-page scrolling and scrollbar hiding in that tabstorage— remember your settings and whether a recording is runningoffscreen— copy to the clipboard, save screenshots and record, which the background service worker can't dotabCapture— get the tab's video, and its audio when Record tab audio is on, for recordingclipboardWrite— copy screenshots directly to your clipboard
There's no build step and nothing to install: Chrome runs the files in this folder as they are. After changing one, press the reload button on ViewShot's card in chrome://extensions.
Run the tests with npm test. They use Node's built-in test runner, live in tests/, and CI runs them on every push and pull request.
To publish, run npm run package. It builds viewshot.zip in this folder, holding only the files the extension needs, for upload to the Chrome Web Store.
GNU GPLv3 © John Pratt



