TontonTools

Hash Identifier

Identify a hash type — MD5, SHA, bcrypt and more from the format.

100% Free No signup Privacy-friendly Password & Security
Updated Sep 2026
Share X / Twitter Facebook LinkedIn WhatsApp

How to use Hash Identifier

  1. Paste the hash.
  2. Read the candidate types — ranked by format match.
  3. Disambiguate by context: prefixed formats ($2b$, $argon2) are certain; bare hex needs the source system to decide between same-length algorithms.
  4. Act on it: verify, migrate weak hashes (MD5→bcrypt), or proceed in authorized testing.

What is Hash Identifier?

A hash identifier examines an unknown hash and guesses its algorithm from telltale format cues: length, character set, and structural prefixes. A 32-hex-character string is likely MD5; 40 chars SHA-1; 64 chars SHA-256; a string starting $2b$ is bcrypt; $argon2 is Argon2. It reads the fingerprint of the fingerprint.

The need arises whenever a hash turns up without a label — in a database column, a config file, a leaked dataset, a CTF challenge, or legacy code — and the next step (verifying, cracking in authorized testing, or migrating) depends on knowing what produced it.

About the Hash Identifier

Paste a hash and get its likely type(s), ranked by how well the format matches — all analyzed in your browser.

Where it helps: security auditing and pentesting (authorized) — identifying stored hash formats before assessing their strength or attempting recovery; database migration and code archaeology — inheriting a system and needing to know how it hashed passwords (an MD5 password column is a finding: it needs upgrading to bcrypt on next login); CTF and forensics — the standard first step on a captured hash; and debugging — confirming a value is the hash type you expected.

Honest limits: identification is inference from format, not certainty — many algorithms share output lengths (a 64-hex string could be SHA-256, SHA3-256, or others; a 32-hex string could be MD5 or NTLM), so the tool offers candidates, not a verdict. Salted and prefixed formats (bcrypt's $2b$, Argon2's $argon2id$) identify cleanly; bare hex hashes are ambiguous by length alone. The identification is passive analysis — no cracking, no lookup — and everything stays in your browser.

Frequently Asked Questions

By format: length (MD5=32, SHA-1=40, SHA-256=64 hex chars), character set, and prefixes ($2b$=bcrypt, $argon2id$=Argon2, {SHA}=LDAP). It's pattern-matching on the fingerprint, so it names candidates, not certainties.
Many algorithms share output lengths — a 64-hex string fits SHA-256, SHA3-256 and others; 32-hex fits MD5 and NTLM. Length alone can't disambiguate them, so the tool lists the format-compatible options and lets context decide.
Salted formats that embed the salt with a prefix (bcrypt $2b$…, Argon2 $argon2id$…) identify cleanly and unambiguously — the prefix is the signature. Bare salted hex hashes (salt stored separately) look like their base algorithm.
It tells you WHICH algorithm to target — a necessary first step in authorized recovery. Identification itself doesn't crack anything (it's passive format analysis); it just routes you to the right approach.
Treat it as a security finding: MD5 (and SHA-1/plain SHA) for passwords is unsafe. Plan a migration to bcrypt/Argon2 — the common pattern is re-hashing each password with the strong algorithm on the user's next successful login.

Learn more

How to Identify an Unknown Hash Type

Found a mystery hash and need to know what it is? Here is how to identify hash types by their length and format.

Read the guide

We use cookies for analytics and to keep the tools free via ads. See our Privacy Policy.