A simplistic interactive filtering tool for the command line, written in Go, that filters and selects from piped input.
peco is an interactive filtering tool for the command line that processes piped input, allowing users to search, filter, and select lines in real-time. It solves the problem of navigating large text streams by providing a visual, incremental search interface that works with logs, file lists, process outputs, and other command-line data.
Developers and system administrators who work extensively in the terminal and need to quickly filter and select from command output, logs, or file lists without leaving the command line.
Developers choose peco for its simplicity, speed, and seamless integration into Unix pipelines. As a single Go binary with no dependencies, it offers powerful interactive filtering with features like multiple selection, ANSI color support, and flexible matching filters, enhancing productivity in shell workflows.
Simplistic interactive filtering tool
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
peco is distributed as a single Go binary with no external dependencies, making installation trivial via releases or package managers like Homebrew and apt.
Results filter in real-time as you type, and multiple terms are treated as AND queries, allowing precise drilling down without separate commands or scripts.
It parses and renders ANSI SGR escape sequences from input, so colored output from tools like `git log --color` remains visible while filtering on stripped text.
Advanced features like multi-stage filtering (FreezeResults) and horizontal scrolling lack default keybindings, requiring users to edit JSON config files for setup.
External custom filters process batches sequentially without match highlighting and must be stateless, limiting complex or context-aware filtering compared to built-in options.
Known issues on msys2/cygwin and with non-latin fonts on Windows reduce reliability, as noted in the FAQ about bracketed paste and font display problems.
peco is an open-source alternative to the following products: