MD5 Generator
Compute MD5 checksums for legacy file verification — not a security function.
MD5 Generator tool
A full line from an .md5 file works — the file name is ignored.
What this tool does
Pick a file — or paste text — and this page prints its MD5 checksum as 32 hex characters, or as Base64 for the systems that publish it that way. Paste the checksum the project published next to the download and you get a plain yes or no, with no squinting at two long strings.
Web Crypto does not implement MD5, so unlike the SHA tools on this site the arithmetic here is done in JavaScript. It is still local: the file is read from your disk into memory and never sent anywhere.
Common uses
-
Checking a download against the
.md5file next to it, which many mirrors, firmware vendors and older Linux distributions still publish. - Confirming a large file survived an upload, an FTP transfer or a burn to physical media.
-
Matching an
ETag— S3 returns the object's MD5 for single-part uploads, a quick way to confirm what landed in a bucket. - Spotting duplicate files in a set you control and trust.
A short example
Input:
The quick brown fox jumps over the lazy dog MD5:
9e107d9d372bb6826bd81d3542a419d6 Add one full stop at the end and the whole digest changes:
e4d909c290d0fb1ca068ffaddf22cbd0 Why MD5 is safe for corruption and unsafe for everything else
MD5 is cryptographically broken. Collisions — two different inputs with the same checksum — can be generated in seconds on ordinary hardware; the first practical attack was published by Wang and Yu in 2004, and a chosen-prefix collision was used in the wild by the Flame malware in 2012 to forge a Microsoft code-signing certificate. There are famous 128-byte block pairs with identical MD5 digests that fit in a tweet.
That makes it useless whenever someone might want two files to collide: signatures, certificates, deduplicating untrusted uploads. It stays good at the job it does here — noticing that a file was truncated, corrupted in transit, or written to a failing disk, none of which produce a matching checksum by accident.
MD5 is never a password hash, and it does not encrypt anything. A hash has no key and no inverse, so "MD5 decrypt" services simply look your digest up in a table of previously hashed common strings. Against a hostile network use SHA-256; for passwords use Argon2id, scrypt or bcrypt.
Worth knowing
Hex is case-insensitive, so 9E107D… and 9e107d… are the same value
and the comparison above accepts either. Base64 is not, which is why the uppercase toggle
applies to hex only.
One thing that catches people out: md5sum file hashes the file's bytes, while
echo hello | md5sum hashes hello plus the newline echo
adds. If a text comparison fails by a hair, that trailing \n is usually the
reason — use printf or echo -n instead.
Frequently asked questions
Why does an S3 ETag not match the file’s MD5?
Because the object arrived as a multipart upload. That ETag is the MD5 of the concatenated binary digests of each part, followed by a hyphen and the part count — a trailing -14 gives it away — so reproducing it means knowing the exact chunk size, which the AWS CLI defaults to 8 MB. Objects encrypted with SSE-KMS or SSE-C carry an ETag that is not an MD5 at all.
How do I get an MD5 from the command line?
The command differs by platform, which is what breaks a shared runbook: md5sum file on Linux, md5 -q file on macOS and the BSDs, certutil -hashfile file MD5 on Windows. Only the GNU form prints the two-column digest, space, filename layout that md5sum -c sums.txt expects, so produce that manifest on Linux or reshape the BSD output before trying to verify against it.
Is MD5 acceptable for cache keys or sharding?
Yes, wherever no attacker chooses the input — bucketing rows across shards, keying a cache entry, grouping files you already trust. None of those depend on collision resistance. Worth knowing that MD5 is not even fast by current standards: xxHash and BLAKE3 were designed for exactly this job and run several times quicker on the same hardware, and BLAKE3 keeps cryptographic strength while doing it.