Skip to content

Sherlock vs subfinder

Which should you use? A side-by-side look at what each one does, who it suits, what it costs, how hard it is to set up, and where each falls short.

Sherlock

Open source · MIT

Command-line tool that checks many social networks for a given username.

subfinder

Open source · MIT

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

The short answer

Choose Sherlock if you need…

  • Security researchers doing authorized open-source intelligence work
  • Penetration testers checking username exposure during an approved engagement
  • Developers comfortable running Python command-line tools
  • People checking whether their own usernames are used across sites

Choose subfinder if you need…

  • 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

Side-by-side

Sherlocksubfinder
TypeCLICLI
PriceFree and open sourceFree and open source
LicenceMITMIT
GitHub stars95.4k14.7k
Setup difficultyIntermediateIntermediate
How you get itClone and build from sourceInstall with a package manager
Main languagePythonGo
Last code update4 days ago4 days ago

What each one is

Sherlock

Sherlock is a command-line program written in Python that searches a list of social media and websites to see whether a particular username is registered on each one. It reports which sites have a matching account so you can find someone's public profiles quickly. The project is popular in open-source security and investigation circles, and its topics describe it as an OSINT (open-source intelligence) tool.

subfinder

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.

Best for

Sherlock

  • Security researchers doing authorized open-source intelligence work
  • Penetration testers checking username exposure during an approved engagement
  • Developers comfortable running Python command-line tools
  • People checking whether their own usernames are used across sites

subfinder

  • 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

Strengths

Sherlock

  • Free and MIT-licensed, so it can be used and modified freely
  • Simple command-line interface built on Python
  • Very widely starred and actively maintained, with a recent push to the repository

subfinder

  • 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

Not ideal for

Sherlock

  • Anyone wanting to track or profile a person without their consent, since the tool exists to surface accounts tied to a username
  • Non-technical users, because it is run from a terminal and the README gave no graphical interface
  • Users needing guaranteed accurate results, since username matches can belong to different people

subfinder

  • 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

Trade-offs

Sherlock

  • Results depend on the site list and can include false positives or missed sites
  • Only checks usernames, not full identities, so matches need manual verification
  • Requires a terminal and some Python setup

subfinder

  • 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

Getting started

Sherlock

Clone the repository

git clone https://github.com/sherlock-project/sherlock.git
Step-by-step guide: how to use Sherlock

subfinder

Install latest version with Go

go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
Step-by-step guide: how to use subfinder

Frequently asked questions

What is the difference between Sherlock and subfinder?

Sherlock: Command-line tool that checks many social networks for a given username. subfinder: Command-line tool that finds subdomains of a website using passive online sources. Sherlock suits security researchers doing authorized open-source intelligence work, while subfinder suits security testers doing reconnaissance on a domain they are authorized to test.

Are Sherlock and subfinder free?

Sherlock: Free and open source. subfinder: Free and open source.

Is Sherlock or subfinder more popular?

Sherlock has more GitHub stars (95.4k) than subfinder (14.7k). Popularity isn't the same as fit — check which one matches your use case above.

What are other alternatives to Sherlock and subfinder?

Other options people compare them with include Maigret, httpx.

Keep comparing

Built from our catalogue entries for both products: open-source details come from each project's README (AI-assisted, refreshed weekly) and GitHub data; AI-tool details are editorial. Spotted something wrong? Let us know from either product's page.