
ffuf
Fast web fuzzer written in Go for directory discovery, virtual host discovery, and parameter fuzzing
ffuf is a web fuzzer written in Go that performs HTTP-based fuzzing operations for security testing and reconnaissance. It uses the keyword FUZZ as a placeholder in URLs, headers, or POST data to systematically test different values from wordlists.
The tool supports multiple fuzzing scenarios including directory and file discovery, virtual host enumeration without DNS records, GET and POST parameter fuzzing, and custom HTTP header manipulation. It includes filtering capabilities based on response codes, response sizes, line counts, and response times, allowing users to identify meaningful results by filtering out expected responses.
ffuf provides advanced features like recursion for deeper directory traversal, auto-calibration to automatically determine filter values, external mutators for generating test cases (such as integration with Radamsa), and configuration file support for persistent settings. It supports concurrent threading, request rate limiting, proxy usage, and both HTTP/1.1 and HTTP/2 protocols.
The tool is primarily used by security researchers, penetration testers, and bug bounty hunters for web application reconnaissance and vulnerability discovery. Its Go implementation provides fast execution speeds suitable for large-scale fuzzing operations.
Installation
# via Homebrew
brew install ffuf
# via Go
go install github.com/ffuf/ffuf/v2@latest


Alternatives & related tools
katana
Go-based web crawler from ProjectDiscovery with standard and headless Chrome modes, JavaScript endpoint parsing, scope control, and JSON output for pipelines.
monolith
CLI tool that bundles web pages into single HTML files with all CSS, images, and JavaScript embedded inline
dirsearch
Web path brute-forcer that discovers hidden directories and files on web servers using customizable wordlists
subfinder
Passive subdomain enumeration tool written in Go that queries online sources, with JSON output, wildcard elimination, and STDIN/STDOUT support.
Gobuster
Go-based brute-forcing tool for web directories/files, DNS subdomains, virtual hosts, S3/GCS buckets, TFTP files, and custom fuzzing.
add a badge to your README
Maintain ffuf? Show that it's featured on trmn. The badge links back to this page.
[](https://www.trmn.sh/tools/ffuf?utm_source=badge)<a href="https://www.trmn.sh/tools/ffuf?utm_source=badge"><img src="https://www.trmn.sh/badge/ffuf.svg" alt="Featured on trmn" height="20"></a>