Maigret vs Sherlock vs WhatsMyName is the username-tool comparison I get asked for most, and it is not a ranking. Maigret is a fork of Sherlock that checks far more sites (its project page claims 3,000-plus versus Sherlock's roughly 400) and then extracts profile data, tags results, and renders HTML/PDF reports. Sherlock is the one I still drop into pipelines: fewer moving parts, fast runs, a codebase you can script around in an afternoon. WhatsMyName sits in a different slot entirely. It is a community-maintained CSV of username-check definitions that a pile of other OSINT tools consume, plus a modest checker script wrapped around that file.
The rest of this post is the working version of that split: what each tool actually does, when I reach for which one, and the wall all three hit in the same place.
Quick verdict
| Sherlock | Maigret | WhatsMyName | |
|---|---|---|---|
| Best for | Fast, scriptable sweeps | Deep single-username workups | Supplying data to your own tooling |
| Site coverage (as of writing) | Roughly 400 | 3,000+ claimed | Several hundred entries in the CSV |
| Maintainer | Sherlock Project org | soxoj | Micah Hoffman / WebBreaches |
| Written in | Python | Python | CSV plus a simple checker |
| Output formats | CSV, TXT, XLSX, JSON to console | HTML, PDF, JSON, console | Console output, wrapper-dependent |
| Extracts extra data from profiles | No | Yes | No |
| Learning curve | Low | Medium | Low |
Every count in that table is hedged on purpose. These site lists change constantly as contributors add and prune entries, so check each repository before you rely on a number.
What these tools actually do
All three are username enumeration tools. Hand them a handle (john_doe_88 is the usual demo) and they probe a list of sites to see whether an account with that name exists. The mechanics barely change from tool to tool: substitute the username into a URL template, fetch the page, then judge the result by HTTP status code or a regex match against the response body.
Individually, that is trivial. The real work lives in the site database. Hundreds or thousands of URL templates and match rules break whenever a site redesigns, adds bot protection, or changes its URL scheme. Sherlock, Maigret, and WhatsMyName mostly differ in how that database is maintained, what happens with the results, and how much extra the tool does beyond a found / not found flag.
One rule before the rest of this: these tools only touch public profile URLs. Use them for legitimate investigations, respect each site's terms of service and rate limits, and never point them at harassment or anything that violates local law.
Sherlock: the original, kept lean
Sherlock first appeared in 2018 and became the default answer to "how do I find where a username is registered." It is still maintained by its own org, and the design has stayed deliberately thin. The whole pitch is one command that fans a username out across a large, hand-maintained site list and prints what comes back. No accounts. No config file. Flags if you want them, nothing if you don't.
Install and run:
pip install sherlock-project
sherlock john_doe_88 --output john_doe_88.csv
A default run fires the checks in parallel and prints found accounts as it goes. Useful flags:
--timeout Nand--retries Nto control how patient the tool is with slow sites.--tor/--unique-torto route requests over Tor, if you have it configured.--print-foundversus--print-allto control console noise.--outputfor CSV, TXT, or XLSX results; JSON goes to the console with--print-json.- A site-exclusion file to skip platforms you know are noisy or irrelevant to your case.
Where Sherlock wins. It is the fastest of the three to a result, simply because it has far fewer sites to probe, and its behavior is predictable enough to drop into a pipeline. If the job is "run every username from this leak through a username check and give me a CSV," Sherlock does that with almost no configuration. The codebase is small enough that you can read it in an afternoon and fork it if you need custom logic. I still start most batch jobs here.
Where Sherlock falls short. Coverage is the obvious one. Roughly 400 sites means a meaningful number of platforms (regional and niche ones especially) will never get checked. There is no data extraction; a hit is just a URL. False positives from name collisions are your problem to resolve, and stale entries in the site list occasionally produce misses that look like clean negatives.
Maigret: Sherlock's heavyweight fork
Maigret started as a fork of Sherlock and grew into something much more ambitious. It is maintained by soxoj, and the project claims coverage of over 3,000 sites, an order of magnitude beyond Sherlock. Treat the exact number as moving, but the gap between the two projects' site counts is real and has been real for years.
Install and run:
pip install maigret
maigret john_doe_88 --html --pdf
The difference shows up immediately in output. Maigret classifies sites with tags and "engines" (so it knows, for example, that a site runs a common forum platform). Its reports can be rendered to HTML or PDF, which is genuinely useful when you need to hand a workup to a colleague or attach it to a case file.
The feature that actually changes how I work is extraction. With the right flags, Maigret pulls extra fields out of found profile pages: display names, profile text, and, where the site exposes them, other identifiers. It can then continue the investigation with newly discovered usernames, which turns one handle into a chain of related accounts. That is a different workflow from Sherlock's flat hit list, not a fancier version of the same one.
Where Maigret wins. Single-target depth. If you have one username and want the fullest possible picture (every platform it appears on, what those profiles say, and what other handles they leak), Maigret is the strongest CLI option in this comparison. The report formats make it the best choice for documented, hand-off-ready results too. This is the tool I open when I have a single handle and an afternoon.
Where Maigret falls short. A full sweep across 3,000+ sites takes noticeably longer than a Sherlock run, and the tool has more knobs to learn. More entries also means more maintenance churn: you will occasionally hit site definitions that are stale or produce false positives, and tuning that noise is part of using the tool seriously. Heavier scraping across that many sites also means you need to be more deliberate about timeouts and politeness.
WhatsMyName: the data standard
WhatsMyName is maintained by Micah Hoffman of WebBreaches, and it occupies a different niche entirely. The heart of the project is whatsmyname.csv: a community-maintained list where each row defines a site, a URL template with a placeholder for the account name, and the regex a page must match to count as a hit. The repository ships a basic checker around that file, but the CSV itself is the product.
That is why WhatsMyName punches above its weight. A large share of the OSINT ecosystem (GUI tools, browser workflows, recon frameworks, custom scripts) consumes the WhatsMyName file instead of maintaining its own site list. When people say "the community standard for username checks," this CSV is usually what they mean. Entry counts sit in the several-hundreds range as of writing; count the file yourself if precision matters to you, because it changes with every round of pull requests.
Where WhatsMyName wins. Building or auditing your own tooling. If you want to control exactly how checks are performed (your own fetcher, your own proxy rotation, your own output schema), starting from the WMN CSV is better than reverse-engineering anyone's site database. It is also the right pick when your other tools already consume it, because you get deduplicated, comparable results across your stack. If you are writing a checker, stop copying site lists out of Python files and ingest this.
Where WhatsMyName falls short. As an end-user tool it is the plainest of the three: minimal reporting, no extraction, no report rendering. You are largely on your own for output handling and noise resolution, and the checker's behavior depends on which wrapper you use.
Head-to-head: which one should you run?
| Scenario | Pick | Why |
|---|---|---|
| Batch-process hundreds of handles from an authorized dataset | Sherlock | Fast, predictable CSV output, easy to script |
| Build a dossier on one username | Maigret | Broadest coverage plus extraction and reports |
| Produce a shareable report (HTML/PDF) | Maigret | Only one of the three with real report rendering |
| Feed username checks into your own tool | WhatsMyName | The CSV is designed to be consumed |
| Quick sanity check from a laptop | Sherlock or Maigret | Either installs in one command; Sherlock finishes sooner |
| Follow handles from one platform to the next | Maigret | Its extraction flow surfaces related identifiers |
In practice, serious casework often runs more than one. Maigret and Sherlock databases overlap heavily but are maintained independently, so a username missed by one is occasionally caught by the other. Running WhatsMyName-based tooling as a third opinion is cheap insurance when the target matters.
The limits all three share
Before anyone gets too attached to their favorite, here is what none of these tools do:
- Resolve identity. A matching username is a lead, not a conclusion. Two people can hold the same handle on different platforms; a hit needs corroborating detail before you treat it as the same person.
- Survive site changes automatically. Every entry is a hand-maintained URL template and match rule. Redesigns and bot protection break entries, and all three projects have a tail of stale definitions at any given time.
- Deal with anti-bot walls. CAPTCHAs, JavaScript challenges, and aggressive rate limiting silently turn real accounts into "not found." If a negative result matters, verify it another way.
- See beyond the username. None of them correlate the handle with an email address, phone number, real name, breach history, or anything else. The username is the only key they hold.
- Monitor anything. You rerun them manually. There is no alert when the handle appears somewhere new next month.
Those limits are not knocks on the projects. They define the category. A username enumerator answers one question well. Investigations usually need several more answered.
When a hosted platform beats all three
CLI enumeration is free and yours to control, but you pay for it in maintenance, coverage gaps, and stitching together separate tools by hand. That trade flips in favor of a hosted platform when you need:
- More than the username dimension. Real cases pivot: handle to email, email to name, name to records. Revealer's username search is the managed version of what these CLIs do, and a single query on the platform (by email, username, phone, name, or address) checks 800+ platforms, public records, and known breach datasets at once.
- Recursion without babysitting. Maigret's identifier-chaining is its best trick, and a hosted service can do that continuously and at scale. AI Deep Search runs recursive, agent-driven searches that follow identifiers across sources automatically, rather than stopping at the first hit list.
- Breach and infostealer context. None of the three CLI tools tell you whether a handle appears in breach data or infostealer logs. That is often the fastest way to confirm an identity or find the email behind a handle. See the data breach lookup and stealer log search.
- An API instead of a terminal. If your pipeline needs programmatic access, Revealer's API is documented; wiring Sherlock or Maigret up as an always-on service means you are now maintaining your own scraper fleet and alerting on top of the base tool.
- Monitoring over time. A hosted platform can watch for new appearances; a CLI only knows what you last ran.
- A single starting point for broader casework. When a username search is one step among several (phone, email, address, public records), running everything from one place beats juggling separate tools by hand. The people search and background check tools cover that broader surface, and reverse phone lookup fills the gap none of these three CLI tools attempt.
On cost: there is a free tier to start, self-serve paid plans from $12.99/month, and custom Enterprise arrangements; card and crypto are both accepted. Details on the pricing page. The fair statement of the trade: the CLI tools cost nothing in money and give you full control; a hosted platform costs money and gives back coverage, correlation, and maintenance time. Most working setups use both. See our OSINT tools overview for how the pieces fit together.
One required note: Revealer is not a consumer reporting agency, and its results must not be used for employment, tenant screening, or credit decisions.
Frequently asked questions
Is Maigret better than Sherlock? For depth, yes: more sites, profile extraction, and real reports. For speed and scripting simplicity, Sherlock still wins. I pick Maigret when I am working one username hard, and Sherlock when I am sweeping a list.
Does Maigret include all of Sherlock's sites? No, not automatically. Maigret began as a Sherlock fork, but its site database has grown independently, so the two overlap heavily without being identical. Running both occasionally produces results the other misses.
Are username enumeration tools legal to use? Checking publicly reachable profile pages is generally lawful OSINT, but you are still bound by each site's terms of service and by your local laws. Keep the work to legitimate investigations, respect rate limits, and never use these tools to harass or stalk anyone.
Can I run all three on the same username? Yes, and it is common practice. The databases are maintained separately, so treat results as a union and verify anything load-bearing. Disagreement between tools is itself useful signal, usually a stale entry or an anti-bot wall on one side.
Which tool has the freshest site list? None of them guarantees freshness; every list has stale entries at any moment. Check recent commit activity and issue triage in each repository as of the time you are reading this, rather than trusting anyone's screenshot of a count.
When should I stop using CLI tools and use a hosted platform? When the job outgrows one identifier: correlating handles with emails, names, breach data, and public records, monitoring for new appearances, or feeding results into production systems through an API. That is the gap a platform like Revealer exists to fill. The CLI tools remain excellent, free options for focused username sweeps.