A simple, fast and user-friendly alternative to 'find'
43.7k
Stars
1.1k
Forks
176
Open issues
30
Contributors
AI Analysis
fd is a fast, user-friendly alternative to the Unix find command, emphasizing intuitive syntax, sensible defaults, and parallelized performance. It serves developers and system administrators who perform frequent filesystem searches and value speed and ease-of-use over the full feature set of find. It is not suitable for users who require find's specialized options or portability to minimal POSIX environments.
Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.
AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.
fd: A faster, friendlier file search tool that has quietly displaced 'find' for millions of developers
fd is a command-line file finder written in Rust that trades POSIX completeness for ergonomics and speed. It targets developers and power users who find GNU find's syntax unintuitive and slow. Key differentiators: regex-first search, smart case sensitivity, automatic .gitignore respect, colorized output, and parallel execution. With 43k+ stars, broad package manager availability (homebrew, apt, cargo, scoop, nix), and consistent multi-year growth, fd has become a de facto standard recommendation in developer tooling lists. It is mature, actively maintained, and genuinely widely used.
Created in May 2017 by David Peter (sharkdp), the same author behind bat and hyperfine. It emerged during a wave of Rust-based Unix tool rewrites targeting developer ergonomics over POSIX compatibility.
Growth was driven by word-of-mouth in developer communities (Reddit r/rust, Hacker News, dotfiles repositories) and heavy recommendation in 'modern Unix tools' blog posts and talks. Integration with fzf as a default file listing backend significantly expanded its user base. Slow but consistent star accumulation (~86/week currently) reflects steady organic adoption rather than viral spikes.
Available in major package managers: Homebrew, apt (Debian/Ubuntu), Nix, Cargo, Scoop, Chocolatey, and others. Listed as a recommended fzf companion in fzf's own documentation. Appears in numerous public dotfiles repos on GitHub. Pre-installed or recommended in several developer-focused Linux distributions. Adoption is well-documented and broad across the developer community.
Likely uses Rust's rayon crate for parallelized directory traversal and the ignore crate (also by sharkdp) for .gitignore parsing. Appears to be a well-decomposed CLI binary with regex support via the regex crate. Parallel execution of external commands via -x/-X flags suggests a thread-pool design.
CI/CD badge is present and active (CICD.yml workflow). A testenv module is visible in README examples suggesting integration tests exist. Specific coverage metrics are not documented in README.
Last push was 2026-06-18, six days before the analysis date — actively maintained. The project is mature (~9 years old) and in a steady maintenance phase rather than rapid feature development, which is appropriate for its scope.
ADOPT IF: you want a faster, more readable alternative to find for everyday developer workflows and are comfortable with a tool that doesn't cover every POSIX find edge case. AVOID IF: you need POSIX compliance, scripting portability across environments where fd is not installed, or advanced find predicates like -newer, -perm with complex expressions. MONITOR IF: you are evaluating fd for use in CI pipelines or shared scripts where dependency management adds friction.
Independent dimensions
Mainstream potential
7/10
Technical importance
7/10
Adoption evidence
8/10
- Not POSIX-compatible: shell scripts using fd are not portable to systems without it installed, limiting use in shared infrastructure or CI without explicit dependency management.
- Intentionally omits some advanced find functionality; users with complex predicates (e.g., hard link counts, inode queries) will still need GNU find.
- Project is in mature/maintenance mode — major new features are unlikely, though this is a feature not a bug for a stable utility.
- Name collision: the binary is named 'fd' but the crate is 'fd-find' due to a pre-existing crate name, which creates minor discoverability friction.
- Single primary maintainer (sharkdp) — while the project appears healthy, bus-factor risk exists if maintainer availability changes, though the project's stability reduces this concern.
fd will continue slow, steady growth as a standard recommendation in developer environment setups. It is unlikely to see dramatic adoption shifts but also unlikely to decline given its stability and broad package manager availability.
Newsletter
Get analyses like this every Monday
Free weekly digest of the most interesting open-source discoveries.
Languages
Information
- Language
- Rust
- License
- Apache-2.0
- Last updated
- 3d ago
- Created
- 112mo ago
- Analyzed with
- anthropic/claude-haiku-4-5
Stars over time
Contributors over time
Top 100 contributors only — repos with more will plateau at 100.
Open issues
Top contributors
Similar repos
sharkdp/hyperfine
Hyperfine is a command-line benchmarking tool written in Rust that measures and...
| Repository | Stars | Week Δ | Language | Score | Updated |
|---|---|---|---|---|---|
|
|
43.7k | +96 | Rust | 9/10 | 3d ago |
|
|
28.4k | — | Rust | 8/10 | 2mo ago |
|
|
59.6k | — | Rust | 9/10 | 1w ago |
|
|
4.5k | — | Rust | 8/10 | 1d ago |
|
|
9.6k | — | Rust | 8/10 | 13h ago |
|
|
33.8k | — | Rust | 8/10 | 1d ago |
find is POSIX-standard, universally pre-installed, and supports the full breadth of filesystem queries. fd deliberately sacrifices that completeness for ease of use and speed. fd is not a drop-in replacement but wins for the common 80% of use cases.
fzf is an interactive fuzzy finder, not a file search tool per se. The two are complementary: fd is commonly used as fzf's file listing backend via FZF_DEFAULT_COMMAND. They solve adjacent problems and are frequently used together.
ripgrep searches file contents; fd searches file names and paths. Both share the .gitignore-aware, parallelized-Rust design philosophy and are frequently recommended together as a pair.
fff appears to be a file manager/finder with a different interaction model. Based on available metadata it appears less mature and has a narrower, different use case than fd's headless search.
locate uses a pre-built database for instant results but requires scheduled index updates and misses recently created files. fd is always up-to-date by traversing live filesystems, at the cost of slightly more CPU per query.