tab-manager-pro

Tab Manager Pro - Chrome and Firefox Tab Manager Extension

Manifest V3 License: MIT Chrome, Edge & Brave Firefox 142+ Version

Tab Manager Pro is a free, open-source Manifest V3 browser extension and tab manager for Chrome, Edge, Brave, and Firefox. It groups tabs by domain, closes duplicate tabs, saves workspace sessions, snoozes distracting tabs, and auto-hibernates inactive tabs to reduce memory usage. Everything runs locally inside your browser: no accounts, analytics, or remote requests.

If you are searching for a Chrome tab manager, a duplicate tab closer, a tab session manager, or a lightweight memory saver extension, Tab Manager Pro covers those workflows in one popup.

Choose your path:

I want to… Start here
Install and use the extension Quick start · Installation · FAQ
Understand how it works Architecture · Project structure
Change or test the code Development · Manual test checklist · Contributing

At a glance

   
Product Free, open-source tab manager browser extension
Browsers Chrome, Edge, Brave (service worker), and Firefox 142+ (event page)
Core jobs Group tabs, close duplicate tabs, save tab sessions, snooze tabs, hibernate idle tabs
Storage Synced settings; local workspaces, undo history, and snooze queue
Permissions tabs, tabGroups, storage, alarms, contextMenus; no host permissions
Network Fully offline; no telemetry, accounts, analytics, or remote assets
License MIT

Table of contents

Quick start

1. Install the extension

Follow Installation. Chrome, Edge, and Brave load the folder as an unpacked extension; Firefox loads manifest.json as a temporary add-on.

2. Pin it and open the popup

Click the extensions puzzle piece, pin Tab Manager Pro, then open it. The popup shows every open tab in the current window or across all windows, depending on your scope setting.

3. Clean up duplicates safely

Click Clean Duplicates. The extension keeps the tab selected by your preservation rule, closes the rest, and records the batch. Click Undo in the popup to restore up to 30 cleanup batches.

4. Save your current session

Open Settings > Workspaces, name the session, and click Save. The workspace stores every eligible tab so you can close the window and restore the set later.

5. Tune automation once

In Settings > Automation & Cleanup, choose a duplicate matching rule, enable the smart cleanup badge, set an idle threshold for auto-hibernation, and optionally enable workspace auto-backup.

Why Tab Manager Pro

Too many open tabs slow down your browser, hide the tab you actually need, and consume memory. Tab Manager Pro gives you one place to group tabs, remove duplicate tabs safely (with undo), save a workspace before closing a project, snooze a tab until later, and put idle tabs to sleep through the browser’s native discard API.

The extension is built with vanilla JavaScript and no runtime build step. Settings sync through your browser profile, while workspaces and undo history stay in local storage.

Who it is for

How it compares

Task Manual browser tabs Tab Manager Pro
Group similar tabs Drag tabs into groups one by one One click by domain, subdomain, or custom rules
Find duplicate tabs Inspect every URL manually Configurable matching, preview count, and toolbar badge
Undo a cleanup Reopen closed tabs from history Up to 30 undo batches
Save a project Bookmarks or scattered notes Named workspace with JSON export and import
Defer a tab Leave it open Snooze with automatic restore
Free memory Close tabs and lose state Discard idle tabs that reload on click
Protect important tabs Remember not to touch them Pinned, muted, audible, and domain exclusions

Screenshots

Popup: light mode Popup: dark mode
Tab Manager Pro popup in light mode showing Group, Sort, Undo, Zen Mode, Clean Duplicates, search, and the open tab list with focus, snooze, and close buttons Tab Manager Pro popup in dark mode with the same quick actions and open tab list

General settings

General Settings page with default sort order, operation scope, tab group visibility, and default snooze duration

Automation and memory saver

Automation and Cleanup settings for duplicate matching, smart cleanup badge, auto-hibernation, and workspace auto-backup

Workspace sessions

Workspaces page with a selected saved session and restore, delete, export, and import controls

Advanced grouping and exclusions

Advanced Logic settings for grouping strategy, custom grouping rules, global exclusions, and ignored domains

Features

Smart tab grouping

Try it: open the popup and click Group. Change the strategy in Settings > Advanced.

Duplicate tab cleanup with undo

Try it: click Clean Duplicates in the popup, then click Undo to restore the batch.

Zen Mode

Try it: click Zen Mode in the popup before a meeting, then restore the workspace afterward.

Workspace sessions and backups

Try it: Settings > Workspaces, enter a name, and click Save.

Memory saver and auto-hibernation

Try it: Settings > Automation & Cleanup, enable Auto-Hibernation, and set the idle threshold.

Tab snooze

Try it: click the clock icon on any popup row.

Search, sorting, and tab indicators

Privacy and exclusions

Keyboard shortcuts

Shortcut Action
Ctrl + Shift + G Group tabs using the current grouping strategy
Ctrl + Shift + D Close duplicate tabs using the current rules
Ctrl + Shift + U Undo the last duplicate cleanup

You can remap shortcuts in your browser:

Installation

Chrome, Edge, or Brave

  1. Clone the repository:

    git clone https://github.com/sandeshPatel06/tab-manager-pro.git
    
  2. Open your browser’s extensions page:
    • Chrome or Brave: chrome://extensions
    • Edge: edge://extensions
  3. Enable Developer mode.
  4. Click Load unpacked and select the cloned tab-manager-pro directory.
  5. Pin Tab Manager Pro to the toolbar and open the popup.

After changing source files, click the reload icon on the extension card. If the popup reports that it could not load tabs, reload the extension and reopen the popup so the service worker starts again.

Firefox

Requires Firefox 142 or newer because the manifest targets Manifest V3 with the Firefox event-page fallback.

  1. Open about:debugging#/runtime/this-firefox.
  2. Click Load Temporary Add-on.
  3. Select manifest.json inside the project directory.

For a permanent install, package the directory and load it through about:addons or publish it on addons.mozilla.org.

Options and configuration

Open the settings page from the gear icon in the popup, or right-click the extension icon and choose Options.

Duplicate cleanup, Zen Mode, and the toolbar badge all follow the configured operation scope and exclusion rules.

Architecture

The extension has no runtime dependencies and no build step. Popup and settings pages are plain HTML and CSS with ES2022 JavaScript loaded as classic scripts.

popup.html + popup.js ──────┐
options.html + options.js ──┴── runtime.sendMessage ──> background.js
                                                         ├── tabs / tabGroups
                                                         ├── storage.sync / storage.local
                                                         └── alarms / contextMenus

Data model

Storage area Key Contents
storage.sync settings Sort order, scope, matching rules, exclusions, automation preferences
storage.local workspaces Named session snapshots with tab URLs and titles
storage.local undoStack Up to 30 duplicate-cleanup batches
storage.local snoozedTabs Pending snooze entries and restore timestamps

Project structure

Path Purpose
manifest.json Manifest V3 definition, permissions, commands, and dual background declaration
background.js Service worker / event page: messaging, tab operations, storage, alarms
popup.html, popup.js, styles.css Toolbar popup UI and interaction logic
options.html, options.js, options.css Full-page settings dashboard
icons/ Toolbar and store icons
screenshots/ README screenshots captured from the real UI
scripts/capture-screenshots.mjs Playwright script that regenerates the screenshots
package.json Dev-only tooling; the extension itself has no runtime dependencies
LICENSE MIT license text

Development

Prerequisites

Edit and reload

  1. Open chrome://extensions and enable Developer mode.
  2. Click Load unpacked and select this directory.
  3. Edit the source files.
  4. Click the reload icon on the Tab Manager Pro card, then reopen the popup.

Debugging tips:

Syntax checks

node --check background.js
node --check popup.js
node --check options.js
node --check scripts/capture-screenshots.mjs

Regenerating screenshots

The screenshots in this README are generated from the actual extension UI with Playwright:

npm install
npx playwright install chromium
npm run screenshots

The script launches Chromium with the unpacked extension, opens demo tabs, seeds settings and workspaces into a temporary browser profile, captures the popup and each settings page, and deletes the temporary profile afterward. It does not touch your daily browser profile. Set HEADED=1 to watch the capture:

HEADED=1 npm run screenshots

Output files are written to screenshots/:

File View
popup.png Popup in light mode
popup-dark.png Popup in dark mode
options.png General settings
automation.png Automation and memory saver
workspaces.png Workspace manager
advanced.png Advanced grouping and exclusions

Manual test checklist

Area What to verify
Grouping Group by domain, subdomain, and custom rule; collapse and expand from Settings
Duplicates Each matching mode, each preservation rule, and exclusion rules leave protected tabs open
Undo Cleanup batches restore tab URLs, pinned state, and reach the 30-batch limit correctly
Workspaces Save from current and all-window scope; restore, delete, export, and import JSON
Snooze Snoozed tab closes immediately and reopens when the alarm fires; queue survives restart
Auto-hibernation Idle tabs discard, remain in the tab bar, and reload on selection; pinned and audible tabs stay active
Scope Current-window and all-window actions touch only the expected tabs
Firefox Temporary add-on loads, promise-based APIs resolve, and the background event page stays alive

Packaging and release

  1. Bump the version in manifest.json and package.json.
  2. Create a zip containing only runtime files:

    zip -r tab-manager-pro-2.1.0.zip manifest.json background.js popup.html popup.js options.html options.js styles.css icons LICENSE README.md
    
  3. Upload the zip to the Chrome Web Store and/or addons.mozilla.org, or keep loading the unpacked folder for local use.

Do not include node_modules/, .git/, or local browser profiles in the package. The screenshot script is development tooling and is not required at runtime.

Permissions

Permission Why it is needed
tabs Query, move, group, discard, snooze, and close tabs.
tabGroups Create tab groups, set titles and colors, and collapse or expand them.
storage Sync settings and store workspaces, undo history, and snoozed tabs locally.
alarms Schedule snooze reminders, auto-hibernation scans, cleanup badge scans, and optional backups.
contextMenus Add the right-click duplicate cleanup action.

Tab Manager Pro requests no host permissions and does not read page content.

FAQ

How do I close duplicate tabs in Chrome?

Open the Tab Manager Pro popup and click Clean Duplicates, or right-click a page and choose Close all duplicates of this tab. Choose a matching rule and preservation rule in Settings first. Every cleanup can be undone for up to 30 batches.

Does it work in Firefox?

Yes. The manifest includes a Firefox event-page fallback and the code uses the promise-based WebExtension API. Firefox 142 or newer is required by the included manifest settings.

Does Tab Manager Pro work offline?

Yes. Styles, icons, and scripts ship with the extension, and the interface uses your system font. There are no analytics, remote fonts, CDN assets, or network requests.

How do I reduce Chrome memory usage with tabs?

Enable Auto-Hibernation under Automation & Cleanup and set an idle threshold. Inactive tabs are discarded using the browser’s native discard API; they remain visible in the tab bar and reload when selected.

Where are my workspaces and settings stored?

Settings use synchronized browser storage. Workspaces, snoozed tabs, and undo history use local storage. Use Export All on the Workspaces page to create a JSON backup you can import elsewhere.

The popup says it could not load tabs. What should I do?

Reload the extension from chrome://extensions (or about:debugging in Firefox) and reopen the popup. This restarts the background service worker. If it persists, inspect the service worker console for errors before opening an issue.

Is it free and open source?

Yes. Tab Manager Pro is released under the MIT License.

What is a tab manager extension?

A tab manager extension is a browser add-on that helps you organize, search, and clean up open tabs. Tab Manager Pro combines tab grouping, duplicate tab removal, workspace sessions, tab snooze, and memory-saving tab hibernation in a single extension instead of five separate tools.

Can I group tabs automatically in Chrome or Firefox?

Yes. Choose a grouping strategy by base domain, subdomain, or custom domain-to-label rules, then click Group in the popup. Tab Manager Pro creates native browser tab groups and can collapse or expand them from the settings page.

How is this different from built-in tab groups?

Built-in browser tab groups only organize tabs. Tab Manager Pro adds duplicate detection with undo, saved workspace sessions with JSON import/export, tab snooze, idle-tab hibernation, exclusion rules, and a duplicate-count badge while still using native tab groups.

Does it read page content or browsing history?

No. Tab Manager Pro requests no host permissions and injects no content scripts. It uses the tabs permission for open-tab metadata such as title and URL, and all data stays in your browser.

Privacy

Tab Manager Pro does not collect, transmit, sell, or share data. It has no server component, no analytics, and no advertising. All tab data stays inside your browser profile. The only optional network-adjacent behavior is your browser’s own sync service for synchronized settings.

Contributing

Contributions are welcome.

  1. Fork the repository and create a branch for your change.
  2. Keep the extension dependency-free at runtime and use the existing browserAPI wrapper for cross-browser calls.
  3. Render tab data with textContent or DOM APIs rather than string-built HTML.
  4. Run the syntax checks and the manual test checklist.
  5. Regenerate screenshots if you change the popup or settings UI.
  6. Open a pull request with the browser and version you tested.

For bug reports, include your browser version, reproduction steps, and any service worker or popup console errors.

License

MIT License. See LICENSE for the full text.

Copyright (c) 2026 Sandesh Patel.