Skip to content

fzf vs zoxide

Which should you use? A side-by-side look at what each one does, who it suits, what it costs, how hard it is to set up, and where each falls short.

fzf

Open source · MIT

A fast command-line tool for picking items from any list by typing a few letters.

zoxide

Open source · MIT

A faster way to change directories that learns the folders you visit most.

The short answer

Choose fzf if you need…

  • Command-line users who often search file names or command history
  • People who write shell scripts and want interactive menus
  • Vim or Neovim users who want fuzzy selection inside the editor
  • Developers who want a single portable binary with no runtime dependencies

Choose zoxide if you need…

  • Developers who move between many project folders in a terminal
  • People who regularly type long paths and want shorter jumps
  • Users of bash, zsh, fish, PowerShell, or xonsh who want one tool across shells
  • People who want an interactive picker for folders via fzf

Side-by-side

fzfzoxide
TypeDev toolDev tool
PriceFree and open sourceFree and open source
LicenceMITMIT
GitHub stars83.9k40.4k
Setup difficultyBeginnerBeginner
How you get itInstall with a package managerInstall with a package manager
Main languageGoRust
Last code update8 days ago4 days ago

What each one is

fzf

fzf is a fuzzy finder that runs in the terminal. You pipe a list into it, such as files, command history, or processes, type a few characters, and it narrows the list to matches so you can pick one. It also ships shell integrations for key bindings and fuzzy completion, and can be used as a building block in scripts.

zoxide

zoxide is a replacement for the cd command that remembers which directories you use most often. You type a few letters of a folder name and it jumps there, instead of typing the full path. It is inspired by the tools z and autojump and works with all major shells, according to the project's description.

Best for

fzf

  • Command-line users who often search file names or command history
  • People who write shell scripts and want interactive menus
  • Vim or Neovim users who want fuzzy selection inside the editor
  • Developers who want a single portable binary with no runtime dependencies

zoxide

  • Developers who move between many project folders in a terminal
  • People who regularly type long paths and want shorter jumps
  • Users of bash, zsh, fish, PowerShell, or xonsh who want one tool across shells
  • People who want an interactive picker for folders via fzf

Strengths

fzf

  • Distributed as a single binary for easy installation
  • Designed to process large lists quickly, per the README
  • Integrates with Bash, Zsh, Fish, Nushell, Vim, and Neovim

zoxide

  • Installs as a single binary and is available through many package managers, including winget, Homebrew, and cargo
  • Supports many shells, as stated in the README
  • Has an optional interactive selection mode using fzf

Not ideal for

fzf

  • People who prefer graphical point-and-click file managers, since fzf is terminal-only
  • Users on systems where they cannot install a binary or use a package manager, since setup relies on those routes
  • Anyone wanting a full-featured search engine for large indexed corpora; fzf filters lists in memory

zoxide

  • People who rarely use the terminal, since the benefit comes from repeated use and the directory history it builds
  • Users who need a cd replacement that behaves exactly like the built-in command in every edge case, since it ranks directories by frequency and recency rather than by typed path

Trade-offs

fzf

  • Terminal-only, so it has no graphical interface
  • Full value comes from shell integration, which requires editing your shell configuration

zoxide

  • Its jumps depend on a history it builds over time, so results are less predictable when you are new to it
  • Some features, such as tab completion, are limited to specific shells (bash 4.4+, fish, and zsh, per the README)
  • The README is truncated here, so setup details for each shell were not fully verified

Getting started

fzf

Install with Homebrew (macOS or Linux)

brew install fzf

Install with Mise

mise use -g fzf@latest
Step-by-step guide: how to use fzf

zoxide

Install via Cargo (any platform with Rust)

cargo install zoxide --locked

Install via Homebrew (macOS/Linux)

brew install zoxide
Step-by-step guide: how to use zoxide

Frequently asked questions

What is the difference between fzf and zoxide?

fzf: A fast command-line tool for picking items from any list by typing a few letters. zoxide: A faster way to change directories that learns the folders you visit most. fzf suits command-line users who often search file names or command history, while zoxide suits developers who move between many project folders in a terminal.

Are fzf and zoxide free?

fzf: Free and open source. zoxide: Free and open source.

Is fzf or zoxide more popular?

fzf has more GitHub stars (83.9k) than zoxide (40.4k). Popularity isn't the same as fit — check which one matches your use case above.

What are other alternatives to fzf and zoxide?

Other options people compare them with include gum, Oh my tmux!, Oh My Posh, asdf, inshellisense.

Keep comparing

Built from our catalogue entries for both products: open-source details come from each project's README (AI-assisted, refreshed weekly) and GitHub data; AI-tool details are editorial. Spotted something wrong? Let us know from either product's page.