A browser extension (Chrome and Safari) for capturing screenshots of web page regions or individual components, with a built-in editor for adding backgrounds before saving.
- Component mode - Hover over any element to detect it. Scroll or use arrow keys to expand/narrow the selection. Captures include a drop shadow with rounded corners.
- Rectangle mode - Click and drag to select any area on the page.
- Background editor - Choose from solid colors, gradient presets, or a custom color picker before saving your capture.
- Keyboard shortcuts - Fast access to both modes, DOM traversal, and mode switching.
Install Webcap from the Chrome Web Store
- Clone this repository
- Open
chrome://extensionsin Chrome - Enable "Developer mode" (top right)
- Click "Load unpacked" and select the
extension/directory inside this repo
The same source files are wrapped as a Safari Web Extension via an Xcode project under safari/.
- Clone this repository
- Open
safari/Webcap/Webcap.xcodeprojin Xcode - Select the
Webcapscheme and run (⌘R) - In Safari, open Settings → Advanced and enable Show features for web developers
- Open Settings → Developer and enable Allow unsigned extensions (required while running an unsigned local build; this resets when Safari quits)
- Open Settings → Extensions and enable Webcap
- Bind keyboard shortcuts under System Settings → Keyboard → Keyboard Shortcuts → App Shortcuts if desired (Safari doesn't honor
suggested_keyfrommanifest.json)
The Xcode project references the JS/CSS/HTML files in extension/ directly, so editing them rebuilds both the Chrome and Safari versions from the same source.
| Shortcut | Action |
|---|---|
Cmd+Shift+E / Ctrl+Shift+E |
Component capture |
Cmd+Shift+S / Ctrl+Shift+S |
Rectangle capture |
Tab |
Switch between modes |
Arrow Up/Down |
Expand/narrow selection (component mode) |
Arrow Left/Right |
Navigate siblings (component mode) |
Scroll |
Expand/narrow selection (component mode) |
Enter |
Capture selected component |
Esc |
Cancel |
Webcap runs entirely in your browser. It does not collect any data, make any network requests, or require any account.

