
broot
A terminal tool to browse, search, and manage directory trees without losing the overview.
- Stars
- 13.1k
- Forks
- 327
- Licence
- MIT
- Language
- Rust
- Last update
- 5 days ago
- Type
- CLI
What it is
Broot is a command-line program that shows a directory as a tree you can navigate and search interactively. It hides files listed in .gitignore by default, lets you fuzzy-search by name or file content, and can move, copy, delete, or open files without leaving the view. It is used as a faster, more usable replacement for running ls or the tree command.
- Type a few letters to find a deep directory, then press alt+enter to cd into it
- Search file contents with the c/ prefix to locate code
- Move, copy, or delete files while keeping the tree visible
- Check which files are modified or untracked with :gf in a git repository
- Find which folders take the most space with the whale-spotting mode
Great for
- Developers who work in a terminal and often jump between project folders
- People with large directories who find the tree command produces too much output
- Users who want to find a directory quickly and cd into it from the shell
- Anyone who wants to see git file statuses or disk usage from inside a terminal view
Not ideal for
- People who prefer graphical file managers, since broot runs only in a terminal
- Users who need a tool for scripting plain text output, since its interface is interactive
How to get it
- 1
See the README
Clone the repository
git clone https://github.com/Canop/broot - 2
Run it
- Install broot following the instructions on the official documentation site linked in the README
- Run br -s in a directory to see an overview
- Type a few letters to filter and select a directory
- Press alt+enter to return to the shell in the selected directory
- 3
Get the most out of it
- Use alt+h and alt+i to toggle hidden and gitignored files
- Bind your own verbs or shortcuts in the configuration file as described in the documentation
- Use --sort-by-size or --sort-by-date to sort the tree at startup
- Use :gf and :gs to inspect git status inside broot
- Set up F5 and F6 to copy or move between panels in Norton Commander style
Downloads
Strengths
- The README shows that gitignored and hidden files can be toggled on or off with keyboard shortcuts
- Supports regex, content search, and logical operators in one search box
- Licensed under MIT and has a large star count and an active release history
Trade-offs
- Its key bindings and verbs take time to learn, and the README covers many of them
- Some features such as image previews depend on terminal support (the README names Kitty and WezTerm)
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| broot (this) | 13.1k | CLI | intermediate | 5 days ago | Developers who work in a terminal and often jump between project folders |
| ast-grep | 16.4k | CLI | beginner | 4 days ago | Developers who want grep-like searching that understands code structure |
| onefetch | 12.1k | CLI | beginner | 4 days ago | Developers who want a quick overview of an unfamiliar local repository |
| qrcp | 10.5k | CLI | beginner | 1 months ago | People who want to move a file to a phone without email, cables, or cloud storage |
| PowerShell | 56k | CLI | beginner | 4 days ago | Developers who script or automate tasks across Windows, Linux, and macOS |
| cheat.sh | 41.8k | CLI | beginner | 2 months ago | Developers who look up command flags and syntax often from the terminal |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.