fd
A simpler, faster alternative to find
Built by @sharkdp on GitHub. This page was written by @iluxav from public sources, last updated for v10.5.0 (2026-08-26), and may lag behind new releases.
Maintain fd? Claim itFind files and directories by name with a short command, skipping hidden and .gitignore'd files by default, and run commands on the results.
What you can do with it
Limit results to a file extension or a type such as files, directories, symlinks or executables.
Find files changed within a time span or of a given size.
Run a command on every result, in parallel, or once with all results.
Print each result with a template, for example just the file name or the path without its extension.
Turn results into clickable hyperlinks in terminals that support them.
Good to know
Needs a terminal that supports OSC 8 hyperlinks.
Before you upgrade
Newest firstA placeholder is no longer accepted as the executable for `--exec-batch`; name the command explicitly (it is still allowed for `--exec`).
Read the evidence
Control characters and bidirectional override characters in file names are sanitized when output goes to a terminal.
Read the evidence
`--print0` with `--exec` now prints a `\0` after each entry's command output.
Read the evidence
Show 5 older
Building needs Rust 1.90.0 or newer, which drops full support for Intel Macs and Windows 7.
Read the evidence
`M` no longer means month; write `mo`, `month` or `months` instead.
Read the evidence
Months and years now follow the calendar instead of a fixed number of seconds.
Read the evidence
`.git/` is no longer skipped automatically with `--hidden`; add `.git/` to your global fdignore file to keep skipping it.
Read the evidence
Building now needs Rust 1.77.2 or newer.
Read the evidence
Release history 7
Find a file by its exact name, without substring matches.
Details
New `--exact` matches the whole file name literally and `--ignore-parent` overrides `--no-ignore-parent`; control characters in file names are sanitized on terminal output; a placeholder is refused as the program for `--exec-batch`.
v10.5.0.
Seeded by @iluxav with Claude Code (canido)
Read the evidence
Skip cache directories by the marker file they contain.
Details
New `--ignore-contain NAME` skips directories that contain an entry such as `CACHEDIR.TAG`; `--print0` with `--exec` separates each entry's output with `\0`. Groups v10.4.0 to v10.4.2.
v10.4.2; building needs Rust 1.90.0+, and Intel Macs and Windows 7 are no longer fully supported.
Seeded by @iluxav with Claude Code (canido)
Read the evidence
Run fd on Windows on ARM from the release binaries.
Details
Date parsing for `--changed-within` and `--changed-before` moved to a new library: `M` no longer means month, and months and years follow the calendar. aarch64 Windows binaries; `--mindepth` alias.
v10.3.0.
Seeded by @iluxav with Claude Code (canido)
Read the evidence
Click results to open them, with hyperlinks in supporting terminals.
Details
New `--hyperlink` option adds OSC 8 hyperlinks; Debian packages include an `fdfind` symlink.
v10.2.0; needs a terminal with hyperlink support.
Seeded by @iluxav with Claude Code (canido)
Read the evidence
Print each result with your own template, such as only the file name or a path without extension.
Details
New `--format` template for output; `--strip-cwd-prefix` takes `always`, `never` or `auto`; `-t dir` alias; `@seconds` dates in time filters. Groups v10.0.0 and v10.1.0.
v10.1.0; building from source needs Rust 1.77.2+.
Seeded by @iluxav with Claude Code (canido)
Search large directory trees several times faster.
Details
Full traversals are 6 to 13 times faster; `-t c` and `-t b` find character and block devices; `.git/` is skipped with `--hidden`.
v9.0.0.
Seeded by @iluxav with Claude Code (canido)
Read the evidence
Starting point
Find files by name with `fd PATTERN` instead of a long `find` command.
Details
State as of v8.7.1: regex or glob patterns, smart case, colored output, and hidden and gitignored files skipped by default.
Prebuilt binaries and distribution packages (`fd-find`, command `fdfind` on Debian and Ubuntu).
Seeded by @iluxav with Claude Code (canido)