Generate MD5 hashes for text or files instantly. Batch processing, history, quick tests. 100% client-side — your data stays private.
Enter any text (passwords, API keys, strings) and get instant MD5 hash. Uses UTF-8 encoding with precise byte-level accuracy.
Drag & drop files or click "Hash File". Computes MD5 for entire files up to 2GB. Shows filename, size, and hash.
Multiple files processed simultaneously with progress indicators. All hashes saved to history for easy copying.
MD5 is broken for security . Use only for checksums/file verification. Never store passwords as MD5 hashes.
| Use case | MD5 OK? | Why / Notes |
|---|---|---|
| Verify a download you controlled the upload of | Fine | Protects against accidental corruption. An attacker who can craft a collision also had to upload the malicious file, at which point the checksum is the least of your problems. |
| HTTP ETag header for cache validation | Fine | ETags just need to change when content changes. No security implication. MD5 is fast and the short output is convenient. |
| Database deduplication / content fingerprinting | Fine | Detecting duplicate uploads or records. An accidental MD5 collision is a 1-in-264 birthday event — negligible for any realistic dataset size. |
| Cache key generation from URL or query string | Fine | You need a fixed-length string from variable-length input. No adversary is trying to collide cache keys. |
| TLS certificate signatures | No | Flame malware (2012) used an MD5 collision to forge a Microsoft code-signing cert. Browsers have blocked MD5 certs since 2016. |
| Password storage | No — never | MD5 runs in nanoseconds. An Nvidia RTX 4090 runs 100+ billion MD5 hashes per second. Entire "Have I Been Pwned" password databases were originally MD5. Use bcrypt, scrypt, or Argon2. |
| API message signing (HMAC-MD5) | Legacy only | Still appears in some old AWS, S3-compatible, and payment gateway APIs. Accept it for backward compatibility; never design a new API with HMAC-MD5. |
| Checksums in Dockerfile, package manifests | Legacy only | Old package managers used MD5. Modern ones (npm, Cargo, pip) use SHA-256 or SHA-512. Upgrade if you control the toolchain. |
Designed as a stronger replacement for MD4. Became the internet's de-facto checksum for a decade: SSL 2.0, S/MIME, package managers, password databases. By 2000 it was in everything.
Dobbertin found collisions in MD5's compression function — not full collisions yet, but enough that cryptographers started recommending SHA-1. The industry largely ignored this for years.
Xiaoyun Wang and Hongbo Yu demonstrated real MD5 collisions at CRYPTO 2004. Their technique ran on a standard PC in hours. Two years later, it ran in minutes. This was the death notice for MD5 as a security primitive.
Researchers at CCC used MD5 collisions to create a rogue Certificate Authority certificate trusted by all browsers. They got a legitimate CA to sign a specially crafted certificate, then used the collision to make it also function as a CA cert. Browsers rushed to deprecate MD5 in certs.
Nation-state malware used an MD5 chosen-prefix collision to forge a Microsoft code-signing certificate. The attack let the malware appear legitimately signed by Microsoft. This was the moment governments stopped treating MD5 as "deprecated but acceptable."
Because collisions require deliberate crafting, accidental MD5 collisions don't occur in practice. MD5 for checksums, cache keys, and deduplication remains widely used and is perfectly fine — the algorithm just can't be used where an adversary gains from crafting collisions.
md5sum on Linux/macOS or Get-FileHash -Algorithm MD5 on PowerShell to verify.