Send web pages and links to your configured webhook with one click. Perfect for saving content to your personal systems.
🚀 Install from Chrome Web Store
📱 Note: For Android users, we have a companion sharing tool available at https://geoffreyplitt.github.io/saveit/ that adds SaveIt as a share target option in Android's system share menu to accomplish similar functionality.
SaveIt is a minimalist Chrome extension that instantly sends web pages and links to your personal webhook endpoint. Whether you're building a personal knowledge base, feeding content to automation systems, or integrating with custom applications, SaveIt helps you save those links you never want to lose.
Key Features:
- Right-click any link and select "Save It!" to capture URLs instantly
- Click the toolbar icon to save the current page you're viewing
- Structured JSON data is sent to the webhook, including URL, page title, and timestamp
- Secure Bearer token authentication for your webhook endpoints
- Visual notifications confirm successful saves or alert you to errors
- Automatically syncs your webhook setting across all your Chrome instances
- Zero dependencies - lightweight and fast
Perfect for developers, researchers, content curators, and anyone who needs to quickly capture web content into their personal systems or workflows. Simply configure your webhook URL once, and start saving content with a single click.
- Manifest V3 Chrome extension
- Vanilla JS/HTML/CSS - Zero dependencies
- Webhook Integration with Bearer token authentication
- Error Handling with detailed error logging and user notifications
{
"url": "https://example.com",
"title": "Example Page",
"timestamp": "2024-05-28T00:00:00.000Z"
}- Visit the SaveIt Chrome Web Store page
- Click "Add to Chrome"
- Configure your webhook settings by right-clicking the extension icon → "Options"
-
Clone this repository:
git clone https://github.com/GeoffreyPlitt/saveit.git cd saveit -
Load unpacked extension in Chrome:
- Open Chrome and navigate to
chrome://extensions/ - Enable "Developer mode" in the top right
- Click "Load unpacked" and select the
saveitdirectory
- Open Chrome and navigate to
-
Configure your webhook:
- Right-click the SaveIt icon in the toolbar
- Select "Options"
- Enter your webhook URL and Bearer token
- Click "Save"
- Click the SaveIt icon in the Chrome toolbar
- Right-click any link on a webpage
- Select "Save It!" from the context menu
- Right-click the extension icon → "Options"
- Enter webhook URL and Bearer token
- Settings automatically sync across your Chrome instances
For testing webhook functionality, we recommend using postb.in - a free tool for creating short-lived disposable webhooks. It shows you all requests it receives, making it perfect for testing the extension's webhook integration without setting up your own server.
Simply:
- Visit https://www.postb.in and create a new bin
- Copy the provided webhook URL
- Use it in the extension's options page
- Test the extension and view the received requests on postb.in
We use Jest for unit testing with Docker to ensure consistent test environments both locally and in CI.
# Build the Docker image
docker build -t saveit-test .
# Run tests in Docker
npm run docker:test
# Run linting in Docker
npm run docker:lint
# Run tests with coverage in Docker
npm run docker:coverage# Install dependencies
npm install
# Run tests
npm test
# Run linting
npm run lint
# Run tests with coverage report
npm test -- --coverageThe tests focus on core functionality:
- Simple fetch mechanism for webhook requests
- Chrome storage API interactions
- Background service worker event handling
- Webhook sending functionality
This project is licensed under the MIT License - see the LICENSE file for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request


