A Chrome extension for saving, managing, and collaborating on bookmarked links
Linky lets you save the current tab's URL with a single click and keep all your bookmarks organized in one place. It goes beyond basic bookmarking by integrating with Google Sheets for automatic link syncing and Firebase Realtime Database for real-time team collaboration.
- One-Click Bookmarking -- save the current tab's URL and title instantly
- Link Management -- view all saved links in an organized, scrollable list
- Bulk Delete -- select and remove multiple saved links at once via the settings panel
- CSV Export -- download all saved links as a dated CSV file
- Duplicate Prevention -- automatically skips URLs that are already saved
- Date Tracking -- each link records the date it was saved
- Automatic Sync -- every saved link is simultaneously added to a connected Google Sheet
- OAuth 2.0 Authentication -- secure access using Chrome's identity API
- Auto-Setup -- creates a "Links" sheet with column headers (Title, URL, Date, Notes) if it does not exist
- Connect / Disconnect -- easily link or unlink a Google Sheet from the settings panel
- Real-Time Shared Links -- team members see each other's saved links instantly
- Team Management -- create a new team or join an existing one with a team code
- User Attribution -- each shared link shows who added it and when
- Personal / Collaborative Mode Toggle -- switch between personal bookmarks and team links
- Configurable Firebase -- enter your own Firebase project credentials directly in the extension settings
- Email and Anonymous Login -- flexible authentication options for team members
- Clone or download this repository:
git clone https://github.com/MajorAbdullah/linky.git
- Open Chrome and navigate to
chrome://extensions/ - Enable Developer mode using the toggle in the top-right corner
- Click Load unpacked and select the
linkyfolder - The Linky icon will appear in your browser toolbar
- Navigate to any webpage you want to save
- Click the Linky icon in your browser toolbar
- Click the Save Current URL button
- The link is saved locally and appears in your list (and syncs to Google Sheets / team if connected)
- Click the Linky icon to open the popup
- All saved links are displayed in a scrollable list -- click any link to open it in a new tab
- Click the settings icon to access the management panel for bulk deletion
- In the main popup view, click the Download CSV button
- A CSV file named
linky_saved_links_YYYY-MM-DD.csvis downloaded with all your saved links
- Create a Google Sheet or use an existing one (ensure it is shared with edit permissions)
- Copy the Sheet URL
- In the extension settings panel, paste the URL and click Connect
- Authorize the extension when prompted
- All future saved links will be synced to the sheet automatically
- Create a Firebase project at console.firebase.google.com
- Enable Realtime Database (start in test mode)
- Enable Authentication (Email/Password)
- Register a web app and copy the configuration values
- In the Linky settings panel, go to the Firebase tab and fill in:
- Project API Key
- Auth Domain
- Project ID
- App ID
- Database URL
- Click Save Configuration -- the extension will reload with Firebase enabled
- Switch to Collaborative mode, log in, and create or join a team
linky/
├── manifest.json # Chrome extension manifest (v3)
├── popup.html # Popup UI structure
├── popup.js # Main popup logic (save, display, manage links)
├── background.js # Service worker for extension initialization
├── sheets-api.js # Google Sheets API integration
├── firebase-api.js # Firebase initialization and configuration
├── collaborative-firebase.js # Team collaboration features (create/join teams, shared links)
├── collaborative.js # Collaboration mode toggle logic
├── icons/
│ ├── icon16.png
│ ├── icon48.png
│ ├── icon128.png
│ ├── settings.png
│ └── settings.svg
└── README.md
| Permission | Purpose |
|---|---|
activeTab |
Access current tab URL and title for bookmarking |
storage |
Persist saved links and configuration in Chrome local storage |
identity |
OAuth 2.0 authentication for Google Sheets API |
sheets.googleapis.com |
Read/write access to connected Google Sheets |
*.firebaseio.com |
Firebase Realtime Database for team collaboration |
identitytoolkit.googleapis.com |
Firebase Authentication |
- Verify the Google Sheet is shared with edit permissions
- Confirm you are signed into Chrome with the same Google account that owns or has access to the sheet
- Make sure you granted permissions when the OAuth prompt appeared
- Ensure all required fields (API Key, Auth Domain, Project ID, App ID, Database URL) are filled correctly
- Verify that the Firebase Realtime Database has been created and is accessible
- Check that Authentication is enabled for Email/Password in the Firebase console
- The extension prevents duplicate URLs -- verify the link is not already saved
- Ensure sufficient browser storage space is available
MIT License -- feel free to use, modify, and distribute.
Syed Abdullah Shah -- @MajorAbdullah