fzf

A fuzzy filter for any list: files, command history, processes, branches, anything you can pipe into it.

These buttons open the developer's own site, repository or store listing in a new tab. wares.gg does not host downloads.

3 more ways to get fzf

Package managers

About fzf

fzf takes lines on standard input and lets you narrow them down by typing a few characters that appear anywhere in the line, in order. Pipe it a file list and it becomes a file picker; pipe it git branches and it becomes a branch switcher. It processes millions of items in milliseconds.

Shell integrations for Bash, Zsh, Fish and Nushell bind it to Ctrl-R for command history and Ctrl-T for files, which is how most people first meet it. Beyond that it is a toolkit: preview windows, key bindings and an event-driven model let you build real terminal interfaces out of shell scripts.

Strengths

  • Filters any list at all, because it just reads standard input
  • Shell integration gives instant fuzzy command history and file search
  • Preview windows and key bindings turn scripts into real interfaces
  • Single binary, with Vim and Neovim plugins included

Limitations

  • Command line only, and its real power needs shell scripting
  • Fuzzy matching sometimes surfaces a surprising first result
  • Key binding setup differs per shell
  • The manual is long because the option set is large

Details

Pricing
FreeFree and open source under the MIT licence.
License
MIT
Developer
junegunn
Platforms
Windows, macOS, Linux, Android, Command line
How it runs
Downloadable app
Account
Not required
Works offline
Yes
Best suited for
Picking one thing out of a list of thousands without scrolling
Categories
CLI tools
Last verified
Added
Provenance
Selected from the TechWalrus downloads catalog (Utilities); facts checked against the developer's own pages, 2 sources on file.

Alternatives to fzf

Compare all

Software that can replace fzf for an important use case, and what changes if you switch.

  • Television

    Search files and other data through a terminal fuzzy finder.

    Television is a terminal fuzzy finder built around configurable channels for different data sources, rather than fzf's approach of filtering any piped standard input.

  • sig

    Search streaming text interactively in your terminal.

    sig searches streaming text interactively and updates matches as data arrives, but it is narrower than fzf's general list picker with previews and key bindings.

fzf as an alternative

Listings that name fzf as an alternative.

  • fd

    Finds files by name without the argument soup that find requires, and it is much faster.

    fzf filters any piped list interactively, so it can pick files by name, but it relies on another command to list them rather than traversing directories itself.

Similar software

Related functionality, not necessarily a direct replacement.

Report a wrong fact or a dead link on this listing