Tab-a-mole is a Chrome extension that helps you find and manage duplicate tabs.
- Find duplicate tabs by URL or title similarity
- Flexible matching with adjustable URL scope (full URL, domain only, hostname, no query/hash)
- Window-scoped search to limit results to current window or search across all windows
- HTTPS filtering to exclude internal browser pages
- Quick actions to navigate to tabs or close duplicates
- Display options including theme selection (light/dark/system) and font size preferences
- Time tracking shows when tabs were last accessed
- Download the latest release from GitHub Releases
- Extract the ZIP file
- Open Chrome and go to
chrome://extensions/ - Enable "Developer mode" in the top right
- Click "Load unpacked" and select the extracted folder
- Click the Tab-a-mole extension icon in your Chrome toolbar
- Choose your matching method
- Adjust the URL scope slider to control how strict the matching is
- Configure additional options
- Click the search button to find duplicates
- Review results and take action:
- Click a tab to navigate to it
- Close individual duplicate tabs
- Close all duplicates in a group (keeps one tab open)
Access extension options by right-clicking the extension icon and selecting "Options" to customize display preferences.
This project is coded in TypeScript and uses Bun to manage the environment.
To install the extension for development in Chrome:
- Clone or download this repository.
- Build the extension with
make all. - Open Chrome and navigate to the extensions page by entering
chrome://extensionsin the address bar. - Enable "Developer mode".
- Click the "Load unpacked" button that appears on the top-left.
- In the file selection dialog, navigate to the directory with these files.
- The "Tab-a-mole" extension is loaded. Access the icon by clicking on the extension button.
-
Start the development server:
bun dev
-
This will launch a sandbox Chrome instance.
-
Load the extension once. Any changes to the code will be reflected on the extension.
- Title matching uses Jaccard similarity with a default threshold of 0.5, which may not catch all semantically similar titles
Feel free to open issues or submit pull requests for improvements or bug fixes.
This project is licensed under the MIT License. See the LICENSE file for details.
⛳

