junegunn/fzf

Published on Jul 18, 2026
★ 84k Go MIT

Type a few letters, find any file, command, or branch instantly

Type three letters. Find any file.

Every list becomes searchable.

fzf is a general-purpose fuzzy finder. Feed it any list and type fragments — it narrows thousands of lines down to the one you meant, as you type.

fuzzy match — fragments, not exact paths

Your shell history, actually findable.

The habit that sticks: control R. Your whole shell history becomes fuzzy-searchable — that docker command from three weeks ago is four keystrokes away.

CTRL-R — paste the selected command from history

It's a pipe, not an app.

And it composes. Anything that prints lines can go through it — pick a git branch, a process, a hostname. It's a building block for your own little terminal tools.

files · history · processes · hostnames — one picker

It previews while you pick.

There's even a preview window — see the file's contents next to the list before you commit to opening it. This is it running.

--preview — the file, before you open it

82k stars. One binary. MIT.

Eighty-two thousand stars, written in Go, MIT licensed. The link's in the description — set it up once, keep it forever.

junegunn/fzf · MIT