Repolode
Canop

Canop/broot

A terminal directory navigator that shows trees with unlisted content collapsed, with fuzzy search, file operations, previews and git status.

Open-source alternative to:tree

Stars
13,083
Forks
327
Open issues
108
Last commit
yesterday

What is it?

Broot is a command-line tool for viewing, navigating and searching directory trees. Instead of dumping a full recursive listing like `tree`, it shows a large directory in a compact, navigable view and respects `.gitignore` so unwanted files stay out of the way. Hidden and gitignored files can be toggled on and off with keyboard shortcuts.

You type a few letters to fuzzy-match a directory, then press alt+enter to leave broot and land in the shell in that directory. Searches can use regular expressions, file contents (`c/` prefix), and logical combinations of patterns. Files can be opened, previewed, edited or moved, copied and deleted, with custom verbs and shortcuts configurable in a config file. A panel mode lets you work with two directories side by side.

Broot also offers size, date and permission columns, a whale-spotting mode for finding what takes disk space, a filesystem usage view, and git commands that show file statuses, branch ahead/behind counts and diffs for changed files.

Key features

  • 01Collapses unlisted content in directory trees, respecting .gitignore.
  • 02Fuzzy search with regex, file content and logical pattern operators.
  • 03Alt+enter to leave broot and cd into the selected directory.
  • 04Built-in move, copy, delete and mkdir, plus custom verbs and shortcuts.
  • 05File previews, including images in Kitty and WezTerm terminals.
  • 06Git status view and filtered git status listing.

Use cases

  • Exploring a large project directory without scrolling through a full tree listing.
  • Jumping to a deeply nested directory from the shell with a few keystrokes.
  • Finding which files or folders consume the most disk space.
  • Reviewing and staging changed files in a git repository before committing.

Quick start

  1. 1

    Read the installation instructions on the project website

  2. 2

    Launch broot with the overview option to see a directory

    br -s

Things to know

  • The README does not include install commands; installation details are only on the external website.

Topics

FAQ

What is broot?
A terminal directory navigator that shows trees with unlisted content collapsed, with fuzzy search, file operations, previews and git status. Broot is a command-line tool for viewing, navigating and searching directory trees. Instead of dumping a full recursive listing like `tree`, it shows a large directory in a compact, navigable view and respects `.gitignore` so unwanted files stay out of the way. Hidden and gitignored files can be toggled on and off with keyboard shortcuts.
Is broot free to use? What license does it have?
broot is open source under the MIT license. Check the license terms before using it in commercial products.
Is broot still maintained?
Actively maintained. The last commit to broot was on Oct 18, 2026.
What can I use broot for?
Exploring a large project directory without scrolling through a full tree listing. Jumping to a deeply nested directory from the shell with a few keystrokes. Finding which files or folders consume the most disk space. Reviewing and staging changed files in a git repository before committing.
How do I install broot?
Read the installation instructions on the project website Launch broot with the overview option to see a directory: br -s
Where can I get broot?
The source code and installation instructions are on GitHub: https://github.com/Canop/broot

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects