Skip to content

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
Step-by-step guide: how to use brootInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    See the README

    Clone the repository

    git clone https://github.com/Canop/broot
  2. 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. 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

ProjectStarsTypeLevelUpdatedBest for
broot (this)13.1kCLIintermediate5 days agoDevelopers who work in a terminal and often jump between project folders
ast-grep16.4kCLIbeginner4 days agoDevelopers who want grep-like searching that understands code structure
onefetch12.1kCLIbeginner4 days agoDevelopers who want a quick overview of an unfamiliar local repository
qrcp10.5kCLIbeginner1 months agoPeople who want to move a file to a phone without email, cables, or cloud storage
PowerShell56kCLIbeginner4 days agoDevelopers who script or automate tasks across Windows, Linux, and macOS
cheat.sh41.8kCLIbeginner2 months agoDevelopers 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.