What is an MD5 generator?
An MD5 generator turns any text into a 128-bit fingerprint, written as 32 hexadecimal characters, using the MD5 message-digest algorithm. MD5 was published by Ron Rivest in 1992 as RFC 1321. It's fast and still everywhere in older systems, but it's cryptographically broken and shouldn't protect anything.
This page computes MD5 only. For SHA-256 and the other SHA algorithms, use the hash generator, which shows four SHA digests side by side.
How to get an MD5 hash
- Type or paste your text into the input box.
- Click Generate.
- Copy the 32-character result.
The text is encoded as UTF-8 and hashed exactly as entered. Spaces, line breaks and letter case all change the result. An empty input produces no output, although the MD5 of an empty string is well known: d41d8cd98f00b204e9800998ecf8427e.
Checking the tool against RFC 1321
RFC 1321 ends with a test suite, and this implementation reproduces it. You can paste any of these inputs to confirm:
| Input | MD5 |
|---|---|
a |
0cc175b9c0f1b6a831c399e269772661 |
abc |
900150983cd24fb0d6963f7d28e17f72 |
message digest |
f96b697d7cb7938d525a2f31aaf161d0 |
abcdefghijklmnopqrstuvwxyz |
c3fcd3d76192e4007dfb496cca67e13b |
Non-English text works too, because the bytes are UTF-8. café hashes to 07117fe4a1ebd544965dc19573183da2, while cafe without the accent gives d2626f412da748e711ca4f4ae9428664.
Why MD5 is considered broken
A cryptographic hash should make two things practically impossible: finding two inputs with the same hash (a collision), and finding an input that matches a given hash (a preimage). MD5 has failed the first test for two decades.
- In 2004 researchers published the first MD5 collisions, and later attacks made them cheap to produce. RFC 6151 (2011) summarizes the research and says MD5 must not be used where collision resistance is needed, such as digital signatures.
- The CERT Coordination Center's advisory VU#836068 states plainly that MD5 "should be considered cryptographically broken and unsuitable for further use".
- Speed hurts too. MD5 is so fast that guessing short inputs by brute force is easy, which makes it a poor choice for passwords even setting collisions aside.
No practical preimage attack against MD5 is known. In practice that matters less than it sounds, because many real inputs (passwords, email addresses, IDs) are short or predictable enough to guess.
When MD5 is still acceptable
| Use | OK with MD5? | Why |
|---|---|---|
| Detecting accidental file or transfer corruption | Yes | Random errors don't create collisions |
| Matching a legacy system, API or database that already uses MD5 | Yes, if you can't change it | You need the same value it computes |
| Cache keys, deduplication, bucketing non-sensitive data | Usually | Nobody gains from forcing a collision |
| Storing passwords | No | Too fast, and unsalted MD5 hashes are looked up instantly |
| Signatures, certificates, verifying downloads against tampering | No | An attacker can craft colliding files |
If you're starting something new and need a hash, use SHA-256 instead. For passwords, use a salted, slow algorithm such as Argon2, scrypt or bcrypt.
Example: why unsalted MD5 passwords fail
The MD5 of password is 5f4dcc3b5aa765d61d8327deb882cf99. Search engines and "MD5 decrypt" sites recognize that string immediately, because it's been computed and published countless times. Every account in a breached database that used password has the same hash, so cracking one cracks them all. A random 16-character password from the password generator won't be in any lookup table, but the right fix is still a proper password-hashing function rather than a better password.
MD5 vs. the hash generator
Use this page when a system specifically asks for MD5: an old API signature, a database column, an ETag you're reproducing, or a checksum file from a project that still publishes MD5 sums. For anything new, the hash generator gives you SHA-256, SHA-384 and SHA-512 from the same text. If you only need a random identifier, the UUID generator is a better fit than hashing anything.
Last updated