MD5 Hash Generator

Compute the 32-character MD5 hash of text, with batch and case-toggle support

MD5 is broken: where it is still fine to use it, and where you must never

What MD5 is

MD5 maps input of any length to a fixed 128 bits (16 bytes), usually written as 32 hexadecimal characters. Its design goals were speed, a strong avalanche effect (change one bit of input and the output is unrecognizable), and even distribution across the output space.

It was once widely used for file verification, cache-key generation, deduplication, and — historically — password storage. Today its role demands a strict split: as a non-adversarial integrity check it still works; for any security purpose it has already failed. Treating those two as interchangeable is the expensive mistake.

Because the output is fixed width, MD5 is attractive precisely where its weakness lies: a constant-size fingerprint is easy to store in a fixed-width database column or compare in a lookup. That convenience is exactly why it spread into roles — like password storage — where a constant-size, fast digest is the wrong tool for the job.

Why MD5 is considered broken

The takeaway: in any scenario where an adversary can submit data after you, MD5 is off the table. That includes certificates, code signing, software-distribution verification (when an attacker can swap the file), digital signatures, and protocol authentication.

The thread connecting all four failures is that MD5 was designed for integrity, not for adversarial settings. When the two ends of a check are cooperating, a collision never happens by accident and MD5 does its job. The moment an attacker gets to choose what gets hashed, the ability to manufacture two inputs with the same digest turns a checksum into a forgery tool. The 2008 and 2012 cases are not laboratory curiosities; they are real certificates that fooled real verification chains.

Where MD5 is still reasonable

The dividing line is intent. A cache-key collision merely wastes a cache entry; a forged certificate compromises a trust chain. The same 128-bit digest is harmless in the first case and dangerous in the second, which is why the guidance is never "MD5 is bad" but "MD5 is bad wherever an adversary influences the input."

Where it must never appear

Choosing among the family

AlgorithmOutput lengthSecurityUse it for
MD5128 bit / 32 charsbroken (collisions feasible)non-adversarial checks, cache keys only
SHA-1160 bit / 40 charsbroken (SHAttered, 2017)legacy compatibility only, not new designs
SHA-256256 bit / 64 charscurrently securethe general default
SHA-512512 bit / 128 charscurrently securewhen you need longer output
bcrypt / Argon2variablebuilt to resist brute forcepassword storage

One point often missed: a hash is not encryption. Hashing is irreversible and provides no confidentiality. Believing that running MD5 over sensitive data "anonymizes" it is wrong — for low-entropy data such as ID numbers or phone numbers, the search space is so small that a precomputed table reverses it instantly.

This tool computes entirely in the browser, so your input never leaves the device. It supports both uppercase and lowercase hex output.

FAQ

Can MD5 be decrypted?

No. MD5 is a one-way hash; the original text cannot be recovered from the result. So-called MD5 decryption online is just rainbow-table lookup and only matches common weak passwords.

What implementation does this site use?

A pure JavaScript implementation bundled in the page. Your input never leaves the browser.