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.

Cover for Sherlock OSINT: what it is, how to install and use it (2026)
Updated: Nov 3, 2026

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 username

The 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.


This is the method I recommend in most cases, especially if you already work with Python:

pipx install sherlock-project

Why 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 ensurepath

After 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 username

Installing with Docker

A very convenient option if you don’t want to touch your local environment:

docker run -it --rm sherlock/sherlock username

Especially useful on servers, OSINT labs, or isolated environments.


Installing with Linux, Kali and macOS packages

Fedora has an official package:

sudo dnf install sherlock-project

Kali, 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 sherlock

Note: Sherlock’s own README warns that the Ubuntu 24.04 and ParrotOS packages appear to be broken. On those systems, use pipx or Docker.


Basic usage of Sherlock OSINT

Once installed, using Sherlock is straightforward and requires no learning curve.

Search for a single username

sherlock username

Sherlock will automatically check hundreds of platforms and show which ones exist and which do not.


Search for multiple usernames at once

sherlock user1 user2 user3

Exporting 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 --txt

CSV

sherlock username --csv

Excel

sherlock username --xlsx

With 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 --csv

In 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 --xlsx

The 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.txt

This 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.


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

OshyTech

Backend and data engineering focused on scalable systems, automation, and AI.

Navigation

Copyright 2026 OshyTech. All Rights Reserved