Skip to content

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
Input
Hashed with MD5 as you type. UTF-8 bytes are used, so “café” hashes as six bytes, not five.
MD5 digest
128-bit · fast, and broken for anything security-related since 2004
The digest appears here as soon as there is something to hash.

Paste the checksum published next to a download. Comparison ignores case and any spaces.

Where MD5 is and is not appropriate
MD5 has been broken since 2004: two different files can be made to share a digest in seconds on a laptop. It is still perfectly reasonable for detecting accidental corruption — a truncated download, a bad disk — and that is what most published MD5 checksums are for. Never use it for passwords, signatures or deduplicating files an attacker can influence.

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 charactersBitsAlgorithm
832CRC-32
32128MD5
40160SHA-1
64256SHA-256
128512SHA-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" | md5sum hashes two bytes, not one. Use printf or echo -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.