šŸŒ“

Tab Rotator with Skip Rules Firefox browser addon that auto-rotates tabs on a timer, with domain/title skip rules.

by
on September 11, 2026
(5 minute read)

I sometimes leave several browser tabs open that I want to keep an eye on. A dashboard, a status page, a monitoring screen, a report that gets updated during the day, or just a page where something is changing.

I’ve got invites for a free bank transfer!

The problem is that having those tabs open isn’t particularly useful if I’m only looking at the active one.

I wrote a small Firefox extension calledĀ Tab Rotator with Skip RulesĀ to solve that. It automatically switches between open tabs at a configurable interval, with rules for excluding tabs based on their domain or title.

Tab Rotator with Skip Rules is available on Firefox Add-ons.

Rotating through open tabs

The basic idea is very simple.

You install the extension, choose how often tabs should change, and it moves through the tabs in the current window automatically.

For example, if I have five tabs open and set the interval to 30 seconds, the extension will show the first tab, then the second, then the third, and continue through the list.

This is useful when the tabs are pages that don’t need constant interaction. You can leave them open and periodically see what has changed without manually clicking through every tab.

I deliberately kept the extension focused on this one job. It doesn’t try to manage tabs, group them, replace the browser’s tab interface, or add another dashboard.

It just rotates them.

The skip rules are the useful part

The first version of a tab rotator would be easy enough to write. The problem appears as soon as there is a tab you don’t want to rotate into.

Maybe you have a monitoring dashboard that should be included, but also a documentation page that you want to keep open permanently. Or perhaps there are several tabs from the same website and only some of them should be displayed.

That’s why the extension hasĀ skip rules.

You can define rules based on theĀ domainĀ or theĀ page title. Tabs matching those rules are ignored when the rotation happens.

For example, you could skip anything fromĀ example.com, or skip tabs whose title contains a particular word.

This makes the extension much more practical than simply going through every tab in order.

The browser window can contain whatever tabs you normally use, while the rotator only considers the ones that match your rules.

A small tool for dashboards and monitoring

The most obvious use case is probably a screen where you want several web pages to be visible over time.

Imagine a computer connected to a large monitor or TV with a Firefox window open. You have several internal dashboards, service status pages, analytics reports or other web applications open as tabs.

Instead of building a dedicated dashboard that combines all of them, you can leave the existing pages as they are and rotate between them.

There is also no requirement that the pages belong to the same service. They are just normal Firefox tabs.

That makes the extension useful for setups where building a custom integration would be unnecessary. If the information is already available in a browser, tab rotation is sometimes enough.

Why Firefox?

I wrote this specifically as a Firefox extension because I use Firefox and wanted this behavior there.

The extension is distributed through Mozilla’s official Firefox Add-ons site, so installation is handled through the normal browser extension mechanism.

There is something I like about building small browser extensions: the browser already provides most of the infrastructure. The extension only needs to implement the behavior that Firefox doesn’t provide by itself.

In this case, that’s essentially a timer, tab selection and a way of deciding which tabs should be included.

The interesting part is not the amount of code required. It’s defining the behavior so that the extension stays out of the way.

It should not fight you

Automatic tab switching can become annoying very quickly if it starts changing tabs while you’re working on one.

That’s why a useful tab rotator needs to be predictable. The interval should be under your control, and the set of tabs being rotated should be explicit rather than trying to guess what you want.

The skip rules are part of that predictability. If there are tabs that shouldn’t participate, I can tell the extension about them instead of having to reorganize my browser window every time I want to use the rotation.

It’s a small distinction, but it makes the difference between something I might leave running and something I would disable after five minutes.

The extension

Tab Rotator with Skip RulesĀ is a deliberately small Firefox addon. There isn’t a larger productivity system behind it or a complicated workflow to learn.

It gives you automatic tab rotation and lets you exclude tabs by domain or title.

If you have a Firefox window with several pages that you periodically want to check, it can save you from manually switching between them.

The extension is available here: Tab Rotator with Skip Rules on Firefox Add-ons

Free 100% online banking account

šŸ’³ Get your free debit Mastercard

No comments yet

Your email address will not be published. Required fields are marked *

Treasure Chest

Get notified of new projects I make
Usually one email every 3 months

Follow me for cool new products and interesting findings on graphic design, web development, marketing, startups, life and humor.


/*Twitter*/ !function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs"); /*Facebook (function(d, s, id) {var js, fjs = d.getElementsByTagName(s)[0];if (d.getElementById(id)) {return;}js = d.createElement(s); js.id = id;js.src = "//connect.facebook.net/en_GB/all.js#xfbml=1&appId=28624667607";fjs.parentNode.insertBefore(js, fjs);}(document, 'script', 'facebook-jssdk'));*/ /*Google+*/ window.___gcfg = {lang: 'en-GB'};(function() {var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;po.src = 'https://apis.google.com/js/plusone.js';var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);})();