Tab Limiter is back — smarter, modern, and built for today’s Chrome

I love tiny tools that do one thing well. Tab Limiter is one of those: it helps you cap how many tabs you can open — in total and per window — so your browser stays sane.
I’ve used the original extension for years. It was lightweight and clever, but it never migrated to Manifest V3 and eventually disappeared from the Chrome Web Store. After trying to contribute for a while, I decided to step up. The project is under the ISC license, so I rebuilt it for 2025: new internals, new UI, and a smarter overall experience.
This post covers what’s in 1.0.0, why it matters, and what’s next.
What’s new in 1.0.0
- Manifest V3 migration (service worker) for Chrome Web Store compliance and future-proofing.
- Smart Window Distribution:
- When you hit the per-window limit, new tabs are moved to the existing window with the most available capacity.
- Only creates a new window if every window is at capacity.
- Validates the total (global) tab limit before any move or creation — if the global cap would be exceeded, the tab is closed and you get a clear notification.
- Contextual notification messaging (e.g., “Opened in another window” when a tab is moved).
- Modern UI/UX:
- A clean, slightly skeuomorphic redesign with native dark mode.
- Stepper controls for numeric limits and clear toggle switches.
- Immediate, subtle “settings saved” feedback.
- Non-blocking notifications replace blocking alerts.
- Optional badge on the toolbar icon to show how many tabs you have left.
Core features remain simple and focused:
- Limit total number of open tabs.
- Limit number of open tabs per window.
- Choose whether pinned tabs count toward limits.
- Optionally open excess tabs in another window (now smarter).
Repo: https://github.com/tavlean/TabLimiter
Chrome Web Store: https://chromewebstore.google.com/detail/tab-limiter/khagemkbpefofgaphhaojmemdiofllcg
Smart Window Distribution, explained
Hitting your per‑window cap doesn’t have to mean “spawn another window.” In 1.0.0:
- The extension scans your existing windows to find the one with the most remaining capacity (respecting whether you count pinned tabs).
- If such a window exists, the new tab is moved there and that window is focused.
- If all windows are at capacity, a new window is created as a last resort.
- If adding a tab would exceed the total (global) limit, the tab is closed and you get a clear notification.
Why this matters:
- Fewer floating windows, less chaos.
- Your workspace stays compact and meaningful.
- You get transparent feedback about what happened and why.
Design notes
The UI is deliberately minimal and tactile:
- Stepper controls make adjusting limits feel faster than typing.
- Toggles are clear, compact, and keyboard/focus friendly.
- Typography prioritizes readability; spacing and shadows are tuned for both light and dark modes.
- The options page avoids configuration overload — you’ll only see what matters.
I’ll share a few side-by-sides in the release post — the delta is big and it makes a daily difference.
Under the hood
- Manifest V3 service worker:
- Migrated from a persistent background page to MV3’s event-driven model.
- Simplified event handling for tab creation/updates to be reliable and efficient.
- Non-blocking notifications:
- Replaces synchronous alert() calls so your flow isn’t interrupted.
- Messages are contextual (per-window vs. total).
- Safer edge cases:
- Validate the total limit before any move/create operation.
- Graceful error handling with fallbacks (close + notify) when needed.
Example manifest skeleton:
{
"name": "Tab Limiter",
"version": "1.0.0",
"description": "Limit the number of open tabs – Total and per window",
"manifest_version": 3,
"action": { "default_popup": "options.html", "default_title": "Tab Limiter" },
"background": { "service_worker": "background.js" },
"permissions": ["storage", "notifications"],
"icons": {
"16": "icons/Icon16.png",
"32": "icons/Icon32.png",
"48": "icons/Icon48.png",
"128": "icons/Icon128.png"
}
}How limits work (quick refresher)
- Set two numbers: maximum total tabs and maximum tabs per window.
- Decide whether pinned tabs count toward those limits.
- When you reach a limit:
- The extension either moves the tab to a better window, opens a new one if necessary, or closes it if the total limit would be exceeded — and it tells you what happened.
- Turn on the badge to see how many tabs you have left at a glance.
Roadmap
Coming soon:
- Firefox support.
- Option to choose between notification vs. alert behavior.
- Live tab counts (total and per-window) directly in the options page.
If you have ideas or edge cases you’d like covered, open an issue or ping me.
Credits
Huge thanks to Matthias Vogt for the original idea and early implementation. This release keeps the spirit of the original while moving it decisively forward — modern internals, modern UI, and smarter behavior.
Get it
- GitHub: https://github.com/tavlean/TabLimiter
- Chrome Web Store: coming in 1–2 days (I’ll update the link here)
If you try it, I’d love to hear how you use tab limits and what would make the experience even smoother. I’m @tavlean on X/Twitter — say hi.
Tavlean