Overview
fzf is a lightweight, command-line fuzzy search utility that helps you quickly find files, directories, and entries from shell history. It performs incremental filtering as you type, making it easy to locate items inside large lists without needing exact matches.
Productivity advantages
- Speeds up common workflows for developers and system operators by reducing the time spent navigating large repositories and long command histories.
- Offers an interactive, real-time matching experience so you can narrow results instantly while typing.
- Works well in scripts and pipelines, letting you embed fuzzy selection into automated or manual tasks.
Supported environments
fzf runs across major platforms, including Windows, macOS, and Linux, and plays nicely with a variety of shells (bash, zsh, PowerShell, etc.). Its small footprint means it integrates smoothly into existing terminal setups without heavy dependencies.
Implementation and licensing
The tool is implemented in Go, which contributes to fast startup times and straightforward installation binaries. It is available under a permissive, free license, so you can use and modify it without cost for personal and many commercial scenarios.
Customization and integrations
fzf is highly configurable: you can change key bindings, match behavior, and preview panes. It also pipes cleanly into other command-line utilities (for example, ripgrep, git commands, or build tools), making it a flexible component of bespoke shell workflows.
Alternatives and related utilities
- skim (sk) — a modern, feature-rich fuzzy finder inspired by fzf.
- peco — a minimal interactive filtering tool for simple use cases.
- fzy — a fast, low-dependency fuzzy searcher focused on performance.
- percol — offers Python-based interactive filtering with extensible behavior.
- other plugins and wrappers — many shell integrations and editor plugins extend fuzzy-search capabilities in different directions.
Technical
- Windows
- Free