Sherlock OSINT: what it is, how to install and use it (2026)
Install Sherlock OSINT with pipx install sherlock-project, Docker, or Linux, Kali and macOS packages. Commands to search usernames and export results.

Sherlock is an open-source OSINT (Open-Source Intelligence) tool designed for a very specific task: automatically checking whether a username exists across hundreds of platforms and social networks.
It runs from the command line, is written in Python, and that makes it lightweight, cross-platform, and easy to integrate into more complex workflows. It’s not a “magic” or invasive tool: it simply checks whether the public URLs associated with a username exist or not.
While its most common use is OSINT research, I’ve personally used it with a much more practical goal: checking username availability when creating a digital brand, specifically oshytech. In just a few seconds, I could see where the name was already taken and where it was still available—something essential if you want to maintain brand consistency.
If you only need the command, with Python 3.9 or later and pipx installed:
pipx install sherlock-project
sherlock usernameThe other methods (Docker, Linux, Kali, macOS, Windows) and what to do when your distribution’s package fails are further down.
What is Sherlock OSINT actually used for?
Sherlock is especially useful when you need a quick, global view of the digital presence associated with a username. Some of its most common use cases include:
- Finding public profiles linked to a username
- Verifying the digital presence of a person, project, or brand
- Detecting potential identity impersonation
- Checking username availability across multiple platforms
- Serving as a starting point for OSINT investigations
It does not access private accounts, does not require credentials, and does not collect sensitive information. Its logic is simple: it checks whether a public URL responds or not.
Installing Sherlock OSINT in 2026
As of today, there are several valid ways to install Sherlock. Below are the most recommended options, depending on how you plan to use it.
Recommended installation with pipx (Python)
This is the method I recommend in most cases, especially if you already work with Python:
pipx install sherlock-projectWhy use pipx:
- Keeps Sherlock isolated from other Python packages
- Avoids dependency conflicts
- Makes updates and removal straightforward
If you don’t have pipx, install it for your system:
# Debian, Ubuntu, Kali
sudo apt install pipx
pipx ensurepath
# macOS
brew install pipx
pipx ensurepath
# Windows (PowerShell)
py -m pip install --user pipx
py -m pipx ensurepathAfter ensurepath, open a new terminal so the sherlock command is on your PATH.
If you already use uv, the equivalent is uv tool install sherlock-project. And if you don’t want to install anything else, pip install --user sherlock-project also works, although it mixes Sherlock’s dependencies with the rest of your Python packages.
Installing from the GitHub repository
Ideal if you want to modify the code, understand how it works internally, or use the latest version. The project no longer ships a requirements.txt; it installs from its pyproject.toml.
git clone https://github.com/sherlock-project/sherlock
cd sherlock
python3 -m venv .venv
source .venv/bin/activate
pip install -e .With -e, changes you make in sherlock_project/ apply without reinstalling. You run it the same way as the installed version:
sherlock usernameInstalling with Docker
A very convenient option if you don’t want to touch your local environment:
docker run -it --rm sherlock/sherlock usernameEspecially useful on servers, OSINT labs, or isolated environments.
Installing with Linux, Kali and macOS packages
Fedora has an official package:
sudo dnf install sherlock-projectKali, Debian 13 or later, Ubuntu 22.10 or later, BlackArch and Homebrew have packages maintained by the community, not by the project:
# Kali, Debian, Ubuntu
sudo apt install sherlock
# macOS with Homebrew
brew install sherlockNote: Sherlock’s own README warns that the Ubuntu 24.04 and ParrotOS packages appear to be broken. On those systems, use
pipxor Docker.
Basic usage of Sherlock OSINT
Once installed, using Sherlock is straightforward and requires no learning curve.
Search for a single username
sherlock usernameSherlock will automatically check hundreds of platforms and show which ones exist and which do not.
Search for multiple usernames at once
sherlock user1 user2 user3Exporting results
One of Sherlock’s biggest advantages is that it allows you to work with the results later. The current version only prints results to the terminal unless you ask for a file.
TXT (one URL per account found)
sherlock username --txtCSV
sherlock username --csvExcel
sherlock username --xlsxWith several usernames, --folderoutput results saves every file in that folder.
Careful with
--json: it does not export results. It loads your own list of sites instead of the one bundled with Sherlock. If you need JSON, convert the CSV.
This is essential if you plan to automate analysis or integrate the results into other processes.
Practical use cases
Checking brand name availability
This was my use case when checking oshytech before registering profiles:
sherlock oshytech --print-found --csvIn seconds, I had a clear list of platforms where the name was already taken and where it was still available.
Basic OSINT investigation
To quickly collect links to public profiles:
sherlock username --print-found --xlsxThe generated file can be used as a starting point for further analysis with other OSINT tools.
Automating bulk searches
If you work with lists of usernames, Sherlock fits perfectly into simple scripts.
Example using a users.txt file:
while read -r user; do
sherlock "$user" --print-found --csv --folderoutput results
done < users.txtThis approach is ideal for audits, recurring analysis, or automated processes.
Sherlock vs similar alternatives
There are other OSINT tools focused on username searches, such as Maigret or Namechk, but Sherlock still stands out for several reasons:
- Better stability and project maintenance
- A clear command-line focus
- Easy integration into scripts and automation
- A large community and solid documentation
While some alternatives are more web-oriented or GUI-based, Sherlock fits especially well in technical environments, where automation and process control matter most.
Automation and workflows
One of Sherlock’s strengths is that it’s not meant to be used in isolation. It works very well as a first step in an automated workflow, for example:
- Username checks → analysis → report generation
- Integration with Python or Bash scripts
- Periodic brand audit processes
This naturally opens the door to linking Sherlock with other articles and guides focused on automation, scripting, and pipelines, which we’ll cover later on.
Ethical and legal considerations
Even though Sherlock only uses public information, it should always be used responsibly.
Legitimate uses:
- Auditing your own digital footprint
- OSINT research
- Branding and identity verification
Unethical uses:
- Harassment or non-consensual surveillance
- Privacy violations
- Illegal activities


