# Tree Style Tab: Firefox tabs as a foldable tree, and where the approach breaks down

> Tree Style Tab is a Firefox WebExtension that turns the tab strip into a vertical tree of parent and child tabs. It is a good fit for people who explore link-heavy pages, and a poor fit for anyone not using Firefox.

**piroor/treestyletab** — Tree Style Tab, Show tabs like a tree.

- Repository: https://github.com/piroor/treestyletab
- Website: http://piro.sakura.ne.jp/xul/treestyletab/
- Stars: 3,783 · Forks: 304
- Language: JavaScript
- License: NOASSERTION
- Published: 2026-09-23 · Updated: 2026-09-23 · Language: en
- Canonical page: https://hysenlabs.com/projects/piroor-treestyletab

## The problem Tree Style Tab solves, and who it is for

Firefox's horizontal tab strip degrades in a specific way. Open a search results page, middle-click ten links, and you get ten tabs in a flat row with no record of which result produced which tab. The README describes the alternative directly: new tabs opened from the current tab become children of that tab, and those branches can be collapsed by clicking an arrow on the parent. The stated effect is that a tree acts as a visual browsing history, so after digging through several levels of a topic you can return to the root tab instead of hunting through a flat list.

The intended user is someone who browses in trails rather than in parallel. The README also frames each tree as a group of tabs on a similar topic, which is a weaker claim than the hierarchy itself: nothing enforces that a branch stays on topic, and a single tab that spawns unrelated children mixes them into one tree. The extension is a sidebar panel in Firefox, so it only makes sense for people already committed to that browser.

## How the tree is built: parent, child, and fold

The mechanism is relationship tracking at tab-creation time. When a tab opens another tab, TST records the opener as the parent, and the new tab appears indented beneath it in the sidebar. Deeper links produce descendants, so a chain of three hops shows three levels of indentation. Because the structure is data rather than layout, the README states you can restructure the tree by drag and drop, which means the automatic parent-child links are a starting point you can override.

Folding is the second half of the mechanism. Clicking the arrow on a parent tab collapses everything under it, which is what keeps a deep tree from consuming the whole sidebar. The README's example is a list of search results: each result opens as a child tab, and links opened from those children appear as descendants of the originating tabs. That is the whole model. There is no separate database of sessions, no tagging layer, and no grouping rule beyond the opener relationship. If you want topic grouping that survives independently of who opened what, this is not what TST provides.

## Installing Tree Style Tab and opening your first branch

The README points to Mozilla Add-ons (AMO) for the signed package of the latest version, and notes that the install manifest at webextensions/manifest.json carries a strict_min_version entry you can check to find the minimum supported Firefox. Old packages are downloadable from the AMO versions page, which matters if you are pinned to an older Firefox: the README says TST sometimes drops outdated Firefox versions, so an older release may be the only one that installs.

If you want a build from a specific commit rather than the signed release, the README gives these steps for Ubuntu, native or under WSL on Windows 10. The clone is recursive because the repository has a .gitmodules file and a submodules directory.

```bash
$ sudo apt install git nodejs npm jq zip
$ git clone --recursive https://github.com/piroor/treestyletab.git
$ cd treestyletab/webextensions
$ make
```

After make finishes, the README says new .xpi files appear in the current directory. To load one, go to about:debugging, click Load Temporary Add-on, and choose the built .xpi or treestyletab/manifest.json. Temporary add-ons are unloaded when Firefox restarts. The README warns explicitly not to uninstall a temporarily installed development build after testing, because uninstalling clears all TST configuration; restart Firefox instead, and the previously installed version returns.

For a non-temporary install of an unsigned build, the README requires Nightly rather than stable Firefox or beta, with xpinstall.signatures.required set to false in about:config. The top-level Makefile wraps the same work: make xpi builds through webextensions and copies the resulting package to the repository root.

## Where Tree Style Tab is the wrong tool

The clearest boundary is the browser. The README's similar-projects section lists Chrome and Chromium alternatives such as Sidewise Tree Style Tabs, and lists Firefox alternatives including Tree Tabs, Sidebery and ftt. Those are separate projects, not ports of TST. If your team standardises on Chromium, TST is not an option, and the README does not claim otherwise.

The second boundary is version support. The README states that TST sometimes drops outdated versions of Firefox, and directs users of even older Firefox, Waterfox or PaleMoon to the Classic Add-ons Archive for legacy packages. That archive is a third-party repository, so a legacy install is a frozen artefact rather than a supported path, and nothing in the repository suggests those legacy packages receive fixes.

The third boundary is configuration durability. The warning about uninstalling a temporary development build is not cosmetic: uninstalling clears TST configs. Anyone who tests development builds on a configured profile and then uninstalls one loses their setup. Restarting Firefox is the documented way to revert. A user who wants a tree view without a sidebar panel is also in the wrong place; the README lists pop-up tab lists with search fields as complementary add-ons rather than features of TST.

## Sidebery and other alternatives: what actually differs

Sidebery appears in both the README's list of similar projects and in the questions people search for alongside TST, so the comparison is worth stating precisely. The README groups Sidebery under vertical tab bar with tree (and more features), alongside Tree Tabs and ftt. The parenthetical is the honest summary: Sidebery is presented as covering the same vertical-tree ground with additional features beyond it. What the README does not do is enumerate those features, so anyone choosing between the two should compare the two projects' own documentation rather than treat TST's list as a feature matrix.

The architectural difference that is visible here is scope. TST's README describes one job, tab trees in a sidebar, plus an API for other extensions to extend that sidebar panel. The README maintains a wiki page listing known helper addons, which implies the project expects functionality to arrive from outside rather than accumulate inside. Sidebery, by contrast, is described only as a similar project with more features, which suggests a more self-contained design. If you want one add-on that does everything, the README's own framing points away from TST. If you want a narrow tree implementation that other add-ons can hook into, the API is the reason to pick it.

## Maintenance, licensing and what a fork costs you

The repository is not archived, and the most recent push recorded here is 2026-09-20, with releases 4.4.6 on 2026-09-20, 4.4.5 and 4.4.4 on 2026-09-17. That is a tight release cadence in the days before this writing. The README also carries a build status badge for the trunk branch and points to CI/CD artifacts for per-commit builds, so the project's own signal for health is the pipeline rather than anything else.

Upgrade cost is mostly borne by the build toolchain rather than by users on AMO. A local build needs git, nodejs, npm, jq and zip on Ubuntu, plus a recursive clone because the repository depends on submodules. The Makefile exposes lint, format, knip, fix_locale_errors and update_extlib targets, and install_hook writes a pre-commit hook that runs make lint. That is a real maintenance surface for a fork: keeping submodules updated and locale files consistent is part of the work.

On licensing, the repository ships a COPYING.txt and a licenses directory, and the GitHub metadata reports the licence as NOASSERTION, meaning no standard SPDX identifier was detected. The README does not state licence terms in prose. Read COPYING.txt and the licenses directory before redistributing a build.

## Conclusion

Adopt Tree Style Tab if you use Firefox, open many links from search results or indexes, and want a sidebar that doubles as a visual browsing history. Do not adopt it if you need tree tabs in Chrome, Safari, Edge or Brave: the repository lists Chrome and Chromium projects only as separate similar projects, not as supported targets. Before committing, check the strict_min_version entry in webextensions/manifest.json against your Firefox build, and confirm the sidebar behaves acceptably with your existing helper addons, since TST exposes an API for other extensions to extend its sidebar panel.

## FAQ

### How do I use Tree Style Tab in Firefox?

Install the signed package from Mozilla Add-ons, then open tabs from an existing tab and they appear as children of it in the sidebar. Click the arrow on a parent tab to collapse its branch, and drag tabs to restructure the tree.

### Does Chrome have tree style tabs?

Tree Style Tab itself is a Firefox extension. The README lists separate projects for Google Chrome and Chromium, such as Sidewise Tree Style Tabs, under a similar-projects section rather than as supported builds of TST.

### What are the differences between the Tree Style Tab extension and the Sidebery extension?

The README groups Sidebery under vertical tab bar with tree (and more features) and does not enumerate those features, so it does not give a detailed comparison. What is visible is scope: TST documents tab trees plus an API for other extensions to extend its sidebar panel.

### What is Tree Style Tab?

It is a Firefox extension that works with tabs as trees. New tabs opened from the current tab become children of it, and branches can be folded by clicking an arrow on the parent tab.

### What is a Tree Style Tab alternative for Firefox?

The README lists Tree Tabs, Sidebery and ftt under vertical tab bars with tree, and Container Tabs Sidebar, Sidebar Tabs and Tab Sidebar under vertical tab bars with grouping. It also lists add-ons such as Tab Manager v2 and TabSearch that add a searchable pop-up tab list.

## Sources

- [Issues](https://github.com/piroor/treestyletab/issues)
- [piroor/treestyletab on GitHub](https://github.com/piroor/treestyletab)
- [Project website](http://piro.sakura.ne.jp/xul/treestyletab/)
- [README](https://github.com/piroor/treestyletab/blob/trunk/README.md)
- [Releases](https://github.com/piroor/treestyletab/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/piroor-treestyletab
