mrkeyoor.com_
Wed 12 Aug 14:41 UTC
Automationevaluationupdated 12 Aug 2026

sherlock

Sherlock is a command-line tool that checks whether a username appears on more than 400 social networks and other websites. It replaces manual profile searches with one concurrent scan and saves matching account URLs to text, CSV, JSON, or Excel files.

Verdict

Sherlock is the first username-enumeration tool most people should try because its command is simple, its site catalog is large, and the project actively tests unreliable targets. It is excellent at producing leads and poor at proving identity, a distinction that belongs in every workflow built around it. Keep the exclusions on, verify profiles by hand, and choose a broader OSINT suite when the investigation extends beyond usernames.

Setup4/5Official pipx and Docker paths are easy; some distro packages fail
Docs4/5Clear install and CLI reference, with focused external guides
Community5/5Large contributor base with same-day fixes and site updates
Maturity4/5Established workflow and tests, but web targets remain volatile

Who it’s for

Investigators who need a quick first pass across many sites for one or more usernames.
Security and trust teams following public account leads with appropriate authorization.
Journalists and researchers who will manually verify each profile before drawing conclusions.
Developers who want a scriptable username checker with custom site manifests, proxy support, and machine-readable exports.

Who it’s NOT for

Anyone who needs proof that accounts belong to the same person: Sherlock checks username availability and profile responses, not ownership or identity.
Users who cannot tolerate false positives: release 0.16.0 says automatic exclusions reduce them rather than eliminate them, and issue #3054 reports a current YouTube false positive.
People relying on ParrotOS or Ubuntu 24.04 distribution packages: the README says those third-party packages appear broken and recommends pipx, uv, pip, or Docker.
Investigations centered on domains, IP addresses, breach records, or relationship graphs: Sherlock accepts usernames and returns site matches, not a broad OSINT case model.
Pipelines that may receive arbitrary malformed usernames without validation: issue #2970 shows version 0.16.0 crashing on a username ending in a period.

Setup reality

The official path is genuinely easy: pipx install sherlock-project, uv, ordinary pip, or one disposable Docker command, followed by sherlock <username>. Use a supported Python environment and prefer the official package because the project does not maintain most distribution packages; it specifically warns that ParrotOS and Ubuntu 24.04 packages are broken. Operational work begins after installation: choose timeouts and proxies, decide whether NSFW sites belong in scope, keep automatic exclusions enabled, and build a manual verification step for every reported match.

One username, hundreds of checks

Sherlock does one job: give it a username and it checks more than 400 social networks and other websites for a matching account. It runs the requests concurrently, prints discovered profiles, and writes results to a file. Multiple usernames can be searched in one invocation, and exports include text, CSV, JSON, and Excel. That tight scope makes Sherlock easier to understand than a general OSINT platform.

The speed benefit is obvious. Manually searching even 30 sites means inconsistent queries, captchas, forgotten tabs, and a result set that is difficult to reproduce. Sherlock turns the first pass into a command that can be rerun and archived. Options can limit the search to named sites, change the timeout, use a proxy, include normally excluded NSFW services, open found profiles in a browser, or supply a custom site manifest. Similar-username placeholders can also test dot, dash, and underscore variants.

The output is a list of leads, not a resolved identity. Two people can independently choose the same handle, an abandoned profile can outlive its owner, and an impersonator can copy a name. Sherlock does not compare biographies, images, writing patterns, dates, or relationships. A competent investigation therefore starts with its matches and verifies them using evidence from the profiles themselves.

Detection quality matters more than the site count

Username enumeration looks simple until websites respond differently. Some return a distinct not-found status. Others always return a successful page and reveal account existence through text in the response. Sites add bot protection, vary behavior by region, suffer intermittent server errors, or redirect unknown names to generic pages. Every catalog entry needs a rule that stays accurate as the site changes.

Version 0.16.0 directly addresses this maintenance problem. The project automatically tests targets and excludes those prone to false positives. The release notes say users should see a significant reduction in noise, while acknowledging regional differences and imperfect results. Sherlock exposes --ignore-exclusions, but the help text plainly warns that using it may return more false positives. For serious work, a smaller trustworthy list is better than a headline number inflated by broken checks.

Even with that system, errors escape. Issue #3054 reports a YouTube false positive for johndoe, possibly related to regional handling. A July fix stopped intermittent 5xx responses from producing false positives on Minds, and an August change corrected an Excel export field. This is not evidence that Sherlock is unusually unreliable. It shows that the catalog is a live compatibility project, not static data that can be declared finished.

False negatives deserve equal caution. Rate limits, network filtering, slow sites, bot defenses, and local proxy behavior can hide real accounts. The default timeout is 60 seconds, but one global value cannot guarantee consistent behavior across hundreds of independent services. Save debug output for important misses, repeat questionable checks from an appropriate network, and visit high-value sites manually.

Installation is simple if you choose the supported path

The cleanest install is pipx install sherlock-project, which isolates the Python application. uv and pip are also supported, while docker run -it --rm sherlock/sherlock avoids managing Python packages on the host. Fedora users have a DNF package. The first command needs no API-key inventory or database setup, which makes Sherlock unusually quick to evaluate.

Package source matters. The README warns that third-party packages for ParrotOS and Ubuntu 24.04 appear broken and directs those users to the official Python or Docker methods. Community packages for Debian, Ubuntu, Homebrew, Kali, and BlackArch are not maintained by the project and may lag. Release 0.16.0 requires Python 3.10 or later after dropping end-of-life 3.8 and 3.9. Check sherlock --version before diagnosing behavior from an old distribution build.

Input validation still has a sharp edge. Issue #2970 demonstrates version 0.16.0 crashing when a username ends in a period because one generated subdomain contains an empty label. Multiple fixes were proposed, including a current pull request in August. Interactive users can avoid the case; an automated service accepting user input should normalize or reject malformed handles before invoking Sherlock.

Healthy maintenance around an unstable target

The repository was pushed on August 12, 2026, with new issues and pull requests opened the same day. Recent work covers detection rules, crashes, result counts, exports, documentation, and new sites. GitHub reported 322 open issues and pull requests combined, while a separate issue-only search returned 95 open issues. That is a substantial queue, but the active merges and rapid response to changing sites are more informative than the total alone.

The project has existed since 2018, uses the MIT license, and has a large contributor roster. Its latest release arrived in September 2025, while current branch activity shows continued maintenance after the tag. Documentation is concise and useful: installation warnings, the complete command reference, a public supported-sites list, and contribution guides cover the main path.

Sherlock is easy to recommend when the question is, "Where does this username appear?" It is not enough when the question is, "Who owns these accounts?" Install the official package, leave unreliable-site exclusions enabled, export the findings, and make verification a required second phase. That discipline turns a fast scanner into a useful research tool instead of a confident source of mistaken identity.

Alternatives

ProjectWhat it isPick it when
MaigretA username OSINT tool with a large site catalog and richer report-generation options.pick this instead when you want deeper per-profile parsing and more elaborate investigation reports.
WhatsMyNameA username-enumeration project centered on a community-maintained site detection list.pick this instead when you want a reusable detection dataset or prefer its web and tool integrations.
Social AnalyzerA profile-search and analysis tool with CLI and web-oriented workflows.pick this instead when profile analysis and a visual interface matter more than Sherlock's focused command.

What people are saying

  1. [github-trending] sherlock-project/sherlock

Sources

  1. Sherlock README
  2. Sherlock 0.16.0 release notes
  3. Issue 3054: YouTube false positive
  4. Issue 2970: crash on usernames ending in a period