Skip to content

subfinder

Command-line tool that finds subdomains of a website using passive online sources.

Stars
14.7k
Forks
1.6k
Licence
MIT
Language
Go
Last update
4 days ago
Type
CLI

What it is

Subfinder is a command-line tool that lists subdomains for a given website, such as finding blog.example.com or api.example.com for example.com. It works passively, meaning it queries online data sources rather than directly probing the target's servers. The README describes it as fast, lightweight, and built to do this one job well.

  • Run subfinder -d example.com to list subdomains of a domain
  • Pass a file of domains with -dL to process many targets at once
  • Filter results with -match or -filter, or with regular expressions via -match-regex and -filter-regex
  • Output results as JSON with -oJ or save them to a file with -o
  • Use -active to show only subdomains that resolve, optionally with IPs via -oI

Great for

  • Security testers doing reconnaissance on a domain they are authorized to test
  • Bug bounty hunters mapping a target's subdomains
  • Researchers doing OSINT on an organization's public internet footprint
  • Developers who want a quick list of their own domain's subdomains

Not ideal for

  • People who need a full scanner that checks for vulnerabilities, since the README describes only subdomain discovery
  • Users who need results without any API keys, because the README says many sources require API keys to work well
  • Non-technical users who are not comfortable with a terminal
Step-by-step guide: how to use subfinderInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Install with a package manager

    You'll need: Go go1.26.10

    Install latest version with Go

    go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
  2. 2

    Run it

    • Install with the go install command above
    • Optionally add API keys to the provider config file, following the linked docs
    • Run subfinder -d example.com using a domain you are authorized to research
    • Add -silent to show only subdomains, or -oJ for JSON output
  3. 3

    Get the most out of it

    • Add API keys in the provider config to unlock more sources, as the README notes many need them
    • Use -all for broader enumeration, noting the README says it is slow
    • Use -rl or -rls to set per-provider rate limits and respect source limits
    • Use -recursive to restrict to sources that handle subdomains of subdomains
    • Set SUBFINDER_CONFIG or SUBFINDER_PROVIDER_CONFIG to keep config files in custom locations

Downloads

Strengths

  • Uses passive sources, so it does not directly contact the target's servers, per the README
  • Supports multiple output formats including JSON, file, and stdout, and works with pipes
  • Has built-in filtering and rate-limit controls

Trade-offs

  • Many sources need API keys, so results are fuller after setup
  • Requires go1.26.10 to install from source according to the README, and the README gives no prebuilt install path beyond the linked docs
  • Passive sources are third-party data, so results may be incomplete or stale

How it compares

ProjectStarsTypeLevelUpdatedBest for
subfinder (this)14.7kCLIintermediate4 days agoSecurity testers doing reconnaissance on a domain they are authorized to test
sherlock95.4kCLIintermediate4 days agoSecurity researchers doing authorized open-source intelligence work
httpx10.6kCLIintermediate4 days agoSecurity testers doing reconnaissance on lists of hosts they are authorized to test
awesome-hacker-search-engines11.5kCurated listbeginner4 days agoSecurity professionals starting a penetration test or vulnerability assessment who need a place to look up data
OSINT-Framework12.4kLearning resourcebeginner6 days agoResearchers looking for a starting point to find free public-information tools
HackBrowserData14.7kCLIintermediate4 days agoSecurity researchers studying how browsers store local data

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.