Hash Generator
Compute MD5, SHA-1, SHA-256, SHA-384 and SHA-512 for text or a file, and compare against a published checksum. Nothing is uploaded.
Enter text or choose a file
What a hash is for
A hash turns any input into a fixed-length fingerprint. The same input always produces the same digest, and changing a single byte changes the whole thing. That makes hashes useful for confirming a file arrived intact, not for storing passwords.
Choosing an algorithm
| Algorithm | Length | Status | Use it for |
|---|---|---|---|
| MD5 | 128 bits / 32 hex | Broken since 2004 | Checking a download against a published checksum |
| SHA-1 | 160 bits / 40 hex | Broken since 2017 | Legacy Git object IDs only |
| SHA-256 | 256 bits / 64 hex | Secure | The default choice for integrity and signatures |
| SHA-384 | 384 bits / 96 hex | Secure | TLS certificates, subresource integrity |
| SHA-512 | 512 bits / 128 hex | Secure | Faster than SHA-256 on 64-bit hardware |
Verifying a download
Projects publish a checksum next to the download. Hash the file you received and compare. The tool accepts the sha256sum output format, so you can paste the whole line including the filename.
- Download the file and its published checksum
- Drop the file in above and pick the matching algorithm
- Paste the published checksum into the compare box
- A green match means the bytes are identical
Do not hash passwords with these
MD5, SHA-1 and even SHA-256 are designed to be fast, which is exactly wrong for passwords — an attacker can try billions per second. Password storage needs a deliberately slow algorithm such as bcrypt, scrypt or Argon2, with a per-user salt.
Where the hashing happens
Everything runs in your browser. Text is hashed with the Web Crypto API, files are read locally, and MD5 is computed in JavaScript because Web Crypto deliberately omits it. No input leaves the page.