MD5 Hash Generator

Produces the exact same 32-character hexadecimal MD5 checksum as md5sum, openssl dgst -md5 and certutil -hashfile, useful when a download page publishes an MD5 and you want to check the file matches without installing a CLI tool. Handles text input (treated as UTF-8 bytes, matching Unix tools) and file input (streamed so even large files fit in memory).

How to verify a file checksum

  1. 1

    Drop the downloaded file

    The tool streams it through the MD5 function in chunks.

  2. 2

    Wait for the digest

    A few MB/s on most machines; a 500 MB ISO takes ~30–60 seconds.

  3. 3

    Compare with the published checksum

    Copy-paste the expected hash. The tool marks match/mismatch with color.

  4. 4

    Don't run if mismatch

    A different hash means the file is corrupted or has been tampered with. Re-download from a trusted source.

The canonical output format

MD5 produces 128 bits, conventionally written as 32 hexadecimal characters in lowercase:

9e107d9d372bb6826bd81d3542a419d6

Unix md5sum prints: <hash> <filename> with two spaces. GNU coreutils expects that format for the -c (check) flag.

Text vs. file mode

  • Text input is encoded as UTF-8 before hashing. That matches echo -n "text" | md5sum on Unix. Windows PowerShell’s Get-FileHash defaults to UTF-16 unless you specify, which is why the two can disagree.
  • File input is hashed byte-for-byte, whatever the file contains, no encoding transformation. Your browser and a CLI tool will always agree on the file hash.

Matching the published checksum

Most download pages publish the hash with the filename:

md5sum: 9e107d9d372bb6826bd81d3542a419d6  yourfile.iso
  • Make sure you downloaded the exact file (sometimes vendors publish hashes per variant: x86_64 vs. ARM).
  • Trust the checksum source. An MD5 link on the same compromised page is worthless. Cross-check against a GPG-signed SHA256SUMS whenever available.

Common reasons for a mismatch

  • Partial download, browser interrupted, resumed incorrectly.
  • Different version on the mirror than the checksum promises.
  • Wrong file selected (you hashed the .sig file instead of the ISO).
  • Compression or reformat, .tar.gz and the same extracted directory have completely different hashes.
  • Actual tampering, rare, but the reason checksums exist.

Speed

MD5 is fast. A laptop from the last five years hashes at 400+ MB/s. The bottleneck hashing a file in the browser is usually disk IO, not the math.

When MD5 isn’t enough

For security-sensitive integrity (verifying a downloaded installer hasn’t been replaced with malware), prefer SHA-256, MD5 collisions are trivial to compute. Most modern projects publish both.

Frequently Asked Questions

PowerShell’s Get-FileHash defaults to SHA-256, not MD5. Use Get-FileHash -Algorithm MD5 file.iso to match a published MD5.

Most modern browsers stream up to ~2 GB smoothly. For larger files (DVDs, disk images), use a CLI tool, md5sum file on Linux, Get-FileHash -Algorithm MD5 on Windows.

A .md5 file usually contains one line: the hex hash followed by two spaces and the filename. Tools like md5sum -c checksum.md5 read that line and verify. Just the hex part alone is the raw hash.

Yes, MD5 collisions are trivial to produce on purpose. For accidental collisions among real files, the odds are about 1 in 2^64, vanishingly unlikely. For adversarial collision resistance, use SHA-256.

No. Hashing runs entirely in your browser via the WebCrypto API and typed-array chunks. Files never leave your device.

Related Tools

Tool available in other languages