On this page
Overview
fd is a CLI for finding files and directories by name. It uses regular expressions by default and provides parallel traversal, file-type colors, and smart case matching. Hidden entries and paths matched by .gitignore are excluded by default, so common searches in source trees start with concise arguments.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Key features
Narrow searches by name, extension, type, and starting path
fd PATTERN searches names with a regular expression, while -g selects glob matching, -e filters extensions, and -t selects entry types. Additional path arguments constrain the traversal root, and colorized output helps distinguish result types.
Sources: [1]
Pass search results to another command
-x runs an external command for each result, while -X sends multiple results in one batch. This supports workflows that open, display, or transform matching files after the parallel search completes.
Sources: [1]
Best fit
Fits interactive discovery in large source trees
fd works well for finding candidates by filename or extension and passing them to an editor, fzf, or bat. It suits developers and operators who prefer concise commands for frequent searches over complex general-purpose expressions.
Sources: [1]
Before adoption
Account for default exclusions and external command scope
fd does not aim to implement every feature of find. It skips hidden entries and Git-ignored paths unless options such as -H or -I are supplied. Before combining -x or -X with deletion, inspect the matches without the destructive command. Ubuntu and Debian may install the binary as fdfind. Version 10.5.0 is offered under either the MIT License or Apache License 2.0.
Official sources
- [1]fd README at v10.5.0(2026-10-04)
- [2]fd v10.5.0 release(2026-10-04)
- [3]fd Apache License 2.0 text at v10.5.0(2026-10-04)
- [4]fd MIT License text at v10.5.0(2026-10-04)
Supplemental curator note
fd is best viewed as a concise tool for everyday file discovery rather than a complete replacement for every find expression. Understanding its default exclusions for hidden and ignored paths makes the tradeoff between speed and coverage explicit.
Try it in 3 steps
- 1
Install fd with Homebrew
This is the macOS installation path documented in the official README.
brew install fd - 2
Create a small search tree
Create Markdown and Rust files with LF-terminated final lines.
mkdir -p fd-demo/sub && printf '%s\n' '# memo' > fd-demo/README.md && printf '%s\n' 'fn main() {}' > fd-demo/sub/main.rs - 3
Find the Markdown file
Filter by extension and starting path, then confirm that
fd-demo/README.mdis returned.fd -e md . fd-demo
Growth
Growth trends · Last 30 days
44,635 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 16
- Open PRs
- 74
Development activity is still being collected.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- command-line
- tool
- filesystem
- search
- regex
- rust
- cli
- terminal
- hacktoberfest
- Stars
- 44,635
- Forks
- 1,151
- Watchers
- 155
- Open issues
- 129
- Contributors
- 242
- Owner type
- User
- Primary language
- Rust
- License
- Apache-2.0
- Repository last updated
- Oct 3, 2026
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- Warp65,356 Stars
2 shared tag(s) · Same language
Combine terminal work, built-in agents, external CLI agents, and factory workflows
Rust - uv90,405 Stars
1 shared tag(s) · 1 shared category(s) · Same language
manage Python versions, environments, dependencies, lockfiles, tools, and publishing through one fast project CLI
Rust - ripgrep68,825 Stars
1 shared tag(s) · 1 shared category(s) · Same language
recursively search directories for regex patterns while respecting
Rust.gitignoreto navigate large codebases quickly - Ruff49,896 Stars
1 shared tag(s) · 1 shared category(s) · Same language
combine Python linting and formatting in one Rust-based CLI with 900+ rules, caching, and automatic fixes
Rust - gping12,701 Stars
1 shared tag(s) · 1 shared category(s) · Same language
compare ICMP/TCP latency and command execution time as live terminal graphs
Rust - llama.cpp130,278 Stars
1 shared tag(s) · 1 shared category(s)
run GGUF models on a chosen mix of local CPUs and GPUs
C++
Report incorrect information
Tell us if any listing information is incorrect or outdated.