TK
Developer Tools

MD5 Hash Generator

Compute 128-bit MD5 checksums for text or files in your browser. Common for legacy file integrity checks and ETags. Not collision-resistant — prefer SHA-256 when integrity matters for security.

Input
Hashes
Paste text to compute MD5, SHA-1, SHA-256, SHA-384, and SHA-512.

Inputs stay on this device. Every developer tool on TaskKit runs entirely in your browser. Tokens, payloads, and pasted text are not transmitted to TaskKit servers or third parties.

What this tool does

Computes the MD5 hash of any text or file in your browser, returning a 32-character hexadecimal digest. MD5 is a 128-bit hash function from RFC 1321, designed by Ron Rivest in 1991. It is fast — multi-gigabyte files hash in seconds — but it is not collision-resistant: two distinct inputs can be engineered to produce the same MD5 hash, and have been demonstrated to in the wild since 2005.

When MD5 is fine

  • ETags and content-addressable caches. A web cache that hashes its objects with MD5 is using the hash as a fast bucket key, not a security guarantee. The attacker model is "two clients accidentally produce the same content," which MD5 still handles fine.
  • File deduplication on a trusted set. If you control the inputs (your own backups, your team's documents), MD5 collisions are astronomically unlikely without an attacker.
  • Comparing against a legacy checksum. Old software downloads, FTP mirror lists, and pre-2010 documentation often publish only MD5. Verifying that number is what MD5 is for.
  • Quick file fingerprinting before transfer. Two engineers comparing whether they have "the same file" benefit from MD5's speed; the threat model is human error, not adversarial collision.

When MD5 is not fine

  • Password storage. Use a slow, salted password hash like bcrypt, scrypt, or Argon2. MD5 is too fast — a modern GPU computes billions of MD5s per second, so any leaked database is rainbow-tabled in minutes.
  • Digital signatures or certificates. Collisions are real. Researchers built fraudulent CA certificates by exploiting MD5 collisions in 2008. Anything that lets an attacker pick the input is broken.
  • Integrity verification against a determined attacker. If the attacker can craft the file you're hashing, MD5 doesn't protect you. SHA-256 does.
  • Anything modern compliance requires SHA-2 or SHA-3 for. PCI DSS, FIPS 140-3, and most government standards have prohibited MD5 for new applications since the late 2000s.

Test vectors

Verify the implementation against the canonical RFC 1321 test vectors:

  • Empty string ""d41d8cd98f00b204e9800998ecf8427e
  • "a"0cc175b9c0f1b6a831c399e269772661
  • "abc"900150983cd24fb0d6963f7d28e17f72
  • "message digest"f96b697d7cb7938d525a2f31aaf161d0
  • "The quick brown fox jumps over the lazy dog"9e107d9d372bb6826bd81d3542a419d6

Paste any of these into the input above; the digest should match exactly.

Notes

Why is the hash 32 characters and not 16? MD5 produces 128 bits = 16 bytes. Each byte renders as 2 hex characters, giving 32 visible characters. The underlying digest is 16 bytes either way.

Does MD5 leak information about the input? Cryptographically, no — given a hash you cannot recover the input. But for short or structured inputs (single words, common passwords) you can look the hash up in a public rainbow table in milliseconds. That's why MD5 is unfit for password storage even when "salted weakly".

Why does my MD5 differ from what md5sum returns? Most likely the input differs by a trailing newline. echo "hello" adds \n; pasting "hello" here does not. Use echo -n, or hash the file directly with the file picker.

  • Hash Generator — compute MD5, SHA-1, SHA-256, SHA-384, and SHA-512 side by side
  • SHA-256 — the modern default for security-relevant hashing
  • Base64 — pair with MD5 for content-addressable storage keys