#️⃣ MD5 Hash Generator
Generate MD5 hashes from text. Note: MD5 is not cryptographically secure, use for checksums only.
About the MD5 Hash Generator
This MD5 hash generator runs entirely in your browser. Type or paste any text into the box above and click Generate to compute its MD5 digest — a 32-character hexadecimal string. The calculation happens locally with JavaScript; nothing is uploaded.
What is MD5?
MD5 (Message Digest 5) is a widely known cryptographic hash function designed by Ronald Rivest in 1991. It takes input of arbitrary length and produces a 128-bit (16-byte) fingerprint, usually rendered as a 32-character hexadecimal string. The algorithm uses four nonlinear functions (F, G, H, I), 64 rounds, and a 64-entry constant table derived from the sine function.
Common use cases
- File checksums — Verify file integrity after download or transfer by comparing published MD5 values.
- Data fingerprinting — Quickly identify duplicate content or detect changes in non-security contexts.
- Cache keys — Generate short identifiers for cache lookups or content-addressable storage.
- Legacy systems — Some older protocols and databases still use MD5 internally.
- ETag headers — Web servers historically used MD5 for HTTP ETag values.
Known test vectors
You can verify the implementation is correct using these standard test values:
md5("")=d41d8cd98f00b204e9800998ecf8427emd5("a")=0cc175b9c0f1b6a831c399e269772661md5("hello")=5d41402abc4b2a76b9719d911017c592md5("The quick brown fox jumps over the lazy dog")=9e107d9d372bb6826bd81d3542a419d6
Frequently asked questions
Can MD5 be reversed? No. MD5 is a one-way function. You cannot recover the original input from the hash. You can only check whether a given input produces a known hash.
Is my input sent anywhere? No. All hashing happens in your browser via JavaScript. Your text never leaves your device.
Why shouldn't I use MD5 for passwords? MD5 is extremely fast — modern GPUs can compute billions per second — and collisions are trivial to produce. For passwords, use a slow hash designed for the purpose (bcrypt, scrypt, Argon2) so brute-force attacks become computationally infeasible.
Does it support UTF-8? Yes. The input is first encoded as UTF-8 bytes, then hashed, so non-ASCII characters are handled correctly.