MD5 hash generator
Generate an MD5 checksum of text or a file of any size, compare it against a published value, and read an honest note on where MD5 is safe.
- Runs in your browser
- Nothing you enter is sent
- Free, no account
Paste the checksum published next to a download. Comparison ignores case and any spaces.
What MD5 produces
A 128-bit digest, written as 32 hexadecimal characters, from an input of any length. The same input always gives the same digest, a one-byte change gives a completely different one, and the original data cannot be reconstructed from it.
"" → d41d8cd98f00b204e9800998ecf8427e
"hello" → 5d41402abc4b2a76b9719d911017c592
"Hello" → 8b1a9953c4611296a827abf8c47804d7 That first value — the digest of the empty string — is worth recognising. If a checksum comparison keeps producing it, your input is empty, not matching.
Broken for security, fine for corruption
MD5 collisions have been practical since 2004 and can now be generated in seconds. An attacker who controls both files can make two different documents share a digest, which is why MD5 must never guard anything an adversary can influence: not passwords, not signatures, not deduplication of untrusted uploads.
Detecting accidental damage is a different problem. A truncated download, a bad disk sector or a corrupted transfer will not produce a matching digest by chance — the odds are 1 in 2¹²⁸. That is why Linux distributions and vendor download pages still publish MD5 sums alongside SHA-256 ones, and why using MD5 for that purpose is not a mistake.
Choosing by digest length
| Hex characters | Bits | Algorithm |
|---|---|---|
| 8 | 32 | CRC-32 |
| 32 | 128 | MD5 |
| 40 | 160 | SHA-1 |
| 64 | 256 | SHA-256 |
| 128 | 512 | SHA-512 |
When a checksum is published without saying which function produced it, counting the characters identifies it immediately. The comparison table on this page shows all five for the same input.
Hashing large files
MD5 is computed as a stream here: the file is read in 4 MB slices and each block updates the running state, so an 8 GB disk image uses no more memory than a text file. Nothing is uploaded, so there is no size cap and no queue — which is precisely what an upload-based checksum service cannot offer, because their cost scales with your file.
Why is MD5 not in WebCrypto?
Because the standard deliberately excludes obsolete algorithms. Browsers provide SHA-1 through SHA-512 and nothing weaker. This page therefore includes a compact pure-JavaScript MD5 implementation of RFC 1321 — a few kilobytes, running in your tab, with no network dependency at all.
Why your digest might not match someone else's
- A trailing newline.
echo "x" | md5sumhashes two bytes, not one. Useprintforecho -n. - Line endings. A file with CRLF hashes differently from the same file with LF. Git may have converted them on checkout.
- Encoding. The same text as UTF-8 and as UTF-16 is entirely different bytes.
- A BOM. Three invisible bytes at the start of a file change everything downstream.
Questions
Can you reverse an MD5 hash?
Not by computation — hashing discards information. Short or common inputs can be found in rainbow tables, which is why MD5 must never be used to store passwords, but a large file cannot be recovered from its digest.
Is MD5 broken?
For security, yes: collisions have been practical since 2004 and can be produced in seconds. For detecting accidental corruption — a truncated download, a bad disk — it is still perfectly serviceable and very fast.
Is there a file size limit?
No. MD5 is computed as a stream in 4 MB slices, so an 8 GB ISO uses no more memory than a small text file. That is impossible on an upload-based checksum site.
Why does WebCrypto not offer MD5?
Because it is deliberately excluded as obsolete. This page ships a small pure-JavaScript MD5 implementation instead, which is why it works with no network access at all.
Why does the same file give a different hash on another site?
Check line endings and trailing newlines. Hashing text through a form often normalises CRLF to LF; hashing the file itself does not. Compare the file, not a copy-paste of its contents.