Hash Identifier Tool

Detect likely MD5, SHA, bcrypt, Argon2, CRC32, and checksum formats from a pasted digest.

Free Online Tool

Analyze hash length, alphabet, prefixes, and encoded password-hash fields. Verify plaintext candidates by generating common hashes locally in your browser.

How Hash Identification Works

Format Signals

A hash identifier checks character count, alphabet, prefixes, separators, and modular crypt fields. These clues often narrow the candidate list quickly.

Verification

If you know a possible plaintext, hash it with candidate algorithms and compare exact outputs. This proves a match for that input and algorithm.

Limits

Format alone cannot separate every algorithm. SHA-256 and SHA3-256 can both appear as 64 hexadecimal characters.

Common Hash Format Examples
FormatTypical AlgorithmSecurity Note
32 hex charsMD5Legacy checksum only; collision-broken.
40 hex charsSHA-1 or RIPEMD-160Ambiguous by length; SHA-1 is collision-broken.
64 hex charsSHA-256 or SHA3-256Common modern 256-bit digest shape.
$2b$...bcryptPassword hash with salt and work factor.
$argon2id$...Argon2idMemory-hard password hash format.
Hash Length Reference: Hex Characters to Candidate Algorithms

One hexadecimal character carries 4 bits, so the character count is the digest size in bits divided by 4. A length narrows the field; it never proves one algorithm.

Hex charactersBitsCandidate algorithmsNote
832CRC32, Adler-32Checksums for accidental errors, not cryptographic hashes.
32128MD5, MD4, NTLM, LMMD5 is the usual guess; NTLM is MD4 of the UTF-16LE password.
40160SHA-1, RIPEMD-160Git object IDs are SHA-1 by default.
56224SHA-224, SHA3-224, SHA-512/224Rare in the wild; SHA-224 is the common reading.
64256SHA-256, SHA3-256, Keccak-256, BLAKE2s-256, SHA-512/256The most ambiguous common length. SHA-256 is the usual guess.
96384SHA-384, SHA3-384SHA-384 is a truncated SHA-512 variant.
128512SHA-512, SHA3-512, BLAKE2b-512, WhirlpoolSeveral unrelated 512-bit designs share this length.
Prefix and Format Reference for Password Hashes

Password hashes carry their scheme in the string itself, so a prefix is a much stronger signal than a length. To create one of these, see the bcrypt tool or the Argon2 tool.

PrefixSchemeStructureNote
$2a$ $2b$ $2y$bcrypt$2b$ + 2-digit cost + $ + 22-char salt + 31-char hash (60 characters total)The letter marks implementation revisions of the same scheme.
$argon2id$ $argon2i$ $argon2d$Argon2$argon2id$v=19$m=..,t=..,p=..$salt$hash (Base64 without padding)Memory, time and parallelism costs travel inside the string.
$1$md5crypt$1$ + salt of up to 8 chars + $ + 22-char hashLegacy Unix format; avoid for new systems.
$5$SHA-256 crypt$5$ + optional rounds=N$ + salt of up to 16 chars + $ + 43-char hashglibc-style modular crypt format.
$6$SHA-512 crypt$6$ + optional rounds=N$ + salt of up to 16 chars + $ + 86-char hashLong-time default in many Linux /etc/shadow files.
$y$yescrypt$y$ + parameter string + $ + salt + $ + hashNewer /etc/shadow default on some distributions.
$P$ $H$phpass34 characters: prefix, iteration character, 8-char salt, 22-char hashWordPress and Drupal style portable hashes.
pbkdf2_sha256$Django PBKDF2algorithm$iterations$salt$Base64 hashpasslib writes the same family as $pbkdf2-sha256$...
$scrypt$scrypt (passlib)$scrypt$ln=..,r=..,p=..$salt$hashCost parameters ln, r and p are stored in the string.
{SHA}LDAP SHA-1{SHA} + Base64 of the 20-byte SHA-1 digest (28 characters)Unsalted; legacy.
*MySQL 4.1+* + 40 uppercase hex charactersSHA-1 of SHA-1 of the password.
Examples With Real Output

Each digest below is the real output of the named algorithm for the quoted input, using public test inputs such as abc and the empty string. The last line of each example is what this identifier reports for that digest. Compare the SHA-1 and RIPEMD-160 examples, or the SHA-256 and SHA3-256 examples: same input, same length, different digests, and the identifier cannot tell which is which. You can generate any of them yourself with the SHA generator or the MD5 generator. The Verify tab computes the SHA-2, MD5, SHA-1 and RIPEMD-160 digests in the browser; its SHA3 option is Keccak-256, so the SHA3-256 line below is not reproducible there.

MD5 of the empty string

Digest (32 hex characters)
d41d8cd98f00b204e9800998ecf8427e
Identifier reports
MD5 (High), NTLM or MD4 (Low)

The MD5 of empty input. Seeing it in a database means an empty value was hashed.

MD5 of "abc"

Digest (32 hex characters)
900150983cd24fb0d6963f7d28e17f72
Identifier reports
MD5 (High), NTLM or MD4 (Low)

The RFC 1321 test vector for abc. Its 32 hex characters match the NTLM/MD4 shape too.

SHA-1 of "abc"

Digest (40 hex characters)
a9993e364706816aba3e25717850c26c9cd0d89d
Identifier reports
SHA-1 (High), RIPEMD-160 (Medium)

The FIPS 180 test vector for abc. RIPEMD-160 also produces 40 hex characters.

RIPEMD-160 of "abc"

Digest (40 hex characters)
8eb208f7e05d987a9b044a8e98c6b087f15a0bfc
Identifier reports
SHA-1 (High), RIPEMD-160 (Medium)

Same input, same length as the SHA-1 line above, a completely different digest. Length alone cannot tell them apart.

SHA-224 of "abc"

Digest (56 hex characters)
23097d223405d8228642a477bda255b32aadbce4bda0b3f7e36c9da7
Identifier reports
SHA-224 (High)

The FIPS 180 test vector for abc: 56 hex characters.

SHA-256 of "abc"

Digest (64 hex characters)
ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
Identifier reports
SHA-256 (High), SHA-3-256 or Keccak-256 (Medium), BLAKE2s-256 (Low)

The FIPS 180 test vector for abc: 64 hex characters.

SHA3-256 of "abc"

Digest (64 hex characters)
3a985da74fe225b2045c172d6bd390bd855f086e3e9d525b46bfe24511431532
Identifier reports
SHA-256 (High), SHA-3-256 or Keccak-256 (Medium), BLAKE2s-256 (Low)

Same input and length as the SHA-256 line, a different digest: the tool lists SHA-256 first only because it is the most common 64-character guess.

SHA-256 of the empty string

Digest (64 hex characters)
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Identifier reports
SHA-256 (High), SHA-3-256 or Keccak-256 (Medium), BLAKE2s-256 (Low)

The SHA-256 of empty input, which appears in many empty-file checksums.

SHA-384 of "abc"

Digest (96 hex characters)
cb00753f45a35e8bb5a03d699ac65007272c32ab0eded1631a8b605a43ff5bed8086072ba1e7cc2358baeca134c825a7
Identifier reports
SHA-384 (High)

96 hex characters.

SHA-512 of "abc"

Digest (128 hex characters)
ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f
Identifier reports
SHA-512 (High)

128 hex characters.

CRC32 of "abc"

Digest (8 hex characters)
352441c2
Identifier reports
CRC32 (Medium), Adler-32 (Medium)

The standard CRC-32 (IEEE 802.3) of abc: 8 hex characters. A checksum, not a cryptographic hash.

Adler-32 of "abc"

Digest (8 hex characters)
024d0127
Identifier reports
CRC32 (Medium), Adler-32 (Medium)

Adler-32 of abc, as used by zlib. Same 8-character shape as CRC32.

What this has not tested: the identifier reads structure only. It does not know whether a value was salted, truncated, re-encoded or produced by a custom scheme, and a value that happens to match a pattern is a candidate, not a finding.

Entity Definitions

A hash function is a deterministic algorithm that maps input data to a fixed-size digest.

A checksum is a compact error-detection value used to catch accidental data corruption.

A password hash is a salted, deliberately expensive hash format designed to slow password guessing.

History and Use Cases

Short History

Early internet systems used MD4, MD5, and SHA-1 for compact message fingerprints. Collision research later showed MD5 and SHA-1 were unsafe for digital signatures and certificates.

Modern systems typically use SHA-2 or SHA-3 for general-purpose integrity, while passwords should use slow, salted schemes such as bcrypt or Argon2.

Practical Use Cases
  • Identify an unknown digest found in logs, databases, or challenge material.
  • Check whether a downloaded checksum looks like MD5, SHA-1, SHA-256, or SHA-512.
  • Distinguish fast checksums from password-hash formats with salts and parameters.
  • Verify an exact plaintext candidate against common digest algorithms.
Frequently Asked Questions

Hash Identifier FAQ

Why Use This Hash Identifier?

Private

Identification and verification run in your browser. Inputs are not sent to a server.

Fast

Get instant candidates from format checks and generate common digests as you type.

Actionable

Use confidence labels and security notes to choose the next verification step.