OpenCollective OpenCollective


Browser extension (Chrome, Firefox, Opera and Safari) to show a code tree on GitHub. Awesome for exploring project source without having to pull every single repository to your machine. Features:

  • Easy-to-navigate code tree, just like in IDEs
  • Fast browsing with pjax and Turbolinks
  • Support private repositories (see instructions)
  • Support GitHub Enterprise (Chrome and Opera only, see instructions)

GitLab is no longer supported: As of version 2.1.0, Octotree no longer supports GitLab. There are 2 reasons for this. First, GitLab has changed so much recently that it would take a lot of effort to keep Octotree up to date. Second, the GitLab team has told me they would build a tree feature in GitLab itself. I can’t afford working on something knowing my effort will be irrelevant any time soon. That being said, if anyone wants to work on supporting the new GitLab, I’ll gladly accept contributions to add back GitLab support.

Octotree on GitHub

Install on Chrome, Firefox and Opera

Note: to configure Octotree for GitHub Enteprise, see instructions

Install on Safari

Octotree is not available on the Safari gallery. Instead, you must use the prebuilt package or build one from source.

Install from prebuilt packages (all browsers)

Prebuilt packages are available in the dist folder. For security reason, only download Octotree from this location.

Note: Firefox 43+ requires add-ons to be signed. Therefore, you should install Octotree from the Mozilla store. For some reason if you want to install the prebuilt package instead, you have to disable sign-check.


Access Token

Note for the paranoids (like me!): Octotree stores access tokens in your browser local storage and never transmits it anywhere. If you want to verify, check out the source, starting with this line.


Octotree uses GitHub API to retrieve repository metadata. By default, it makes unauthenticated requests to the GitHub API. However, there are two situations when requests must be authenticated:

When that happens, Octotree will ask for your GitHub personal access token. If you don’t already have one, create one, then copy and paste it into the textbox. Note that the minimal scopes that should be granted are public_repo and repo (if you need access to private repositories).


Octotree uses Bitbucket API to retrieve repository metadata. By defualt, Octotree will ask for your Bitbucket App password. If you don’t already have one, create one (the minimal requirement is Repositories’s Read permission), then copy and paste it into the textbox.

Note that Octotree extract your username from your current page by default for calling Bitbucket API. If fail to extract, Octotree will ask you for a token update, then you just need to prepend your username to the token, separated by a colon, i.e. USERNAME:TOKEN.

Enterprise URLs

By default, Octotree only works on To support enterprise version (Chrome and Opera only), you must grant Octotree sufficient permissions. Follow these steps to do so:

  • Go to any GitHub repo
  • Open the Octotree settings panel


  • Fill in the GitHub Enterprise URLs textbox, one URL per line
  • Click Save and accept the permission prompt
  • Navigate to your GitHub Enterprise site
  • You might be asked to create an access token


  • Hotkeys: Octotree uses keymaster to register hotkeys. Checkout the supported keys.
  • Remember sidebar visibility: if checked, show or hide Octotree based on its last visibility.
  • Show in non-code pages: if checked, allow Octotree to show in non-code pages such as Issues and Pull Requests.
  • Load entire tree at once: if checked, load and render the entire code tree at once. To avoid long loading, this should be unchecked if you frequently work with very large repos.



Support us with a monthly donation and help us continue our activities. [Become a backer]


Become a sponsor and get your logo on our README on Github with a link to your site. [Become a sponsor]

Related Repositories



Code tree for GitHub ...



Browser extensions to display GitHub code in tree format ...



Code tree for GitHub and GitLab ...



Browser extensions to display GitHub code in tree format ...

Top Contributors

buunguyen Ephemera crashbell letunglam duylam bayandin jerizm DrewML Spittie k2nr athaeryn meip itiut ruanyl hknochi behnam Brightcells Justineo amio isbadawi vakata jsutlovic josephfrazier leereilly leocaseiro Luegg enyo MonwF Mottie norio-nomura


package version
dev async ~0.9.0
babel-core ^6.1.2
babel-preset-es2015 ^6.1.2
chromedriver ^2.21.2
crx ^0.4.4
event-stream *
firefox-profile ~0.3.6
gulp ^3.9.0
gulp-autoprefixer 0.0.8
gulp-babel ^6.1.0
gulp-clean ^0.3.1
gulp-concat *
gulp-exit 0.0.2
gulp-less ^1.3.1
gulp-load-plugins ^0.5.3
gulp-mocha 2.0.0
gulp-plumber ^1.1.0
gulp-preprocess ^1.1.1
gulp-rename ^1.2.2
gulp-replace ^0.5.4
gulp-run ^1.6.4
gulp-run-sequence *
gulp-util ^2.2.20
gulp-zip ^2.0.3
jpm ^1.0.4
map-stream *
mocha 2.0.1
request ~2.48.0
selenium-webdriver 2.44.0
starx ~0.1.7
stream-series *
underscore ~1.7.0
underscore.string ~2.4.0


-   v2.0.17 zip tar
-   v2.0.16 zip tar
-   v2.0.15 zip tar
-   v2.0.14 zip tar
-   v2.0.13 zip tar