Hash Generator
Overview
Hash text or files with MD5, SHA-1 and SHA-2 in your browser
Compute MD5, SHA-1, SHA-256, SHA-384 and SHA-512 hashes from text or a file — all five at once. Verify a download against a published checksum, and copy any digest in hex or Base64. Runs entirely in your browser; nothing is uploaded.
Guide
How to Use
- 1 Choose an input type
Use the Text tab to hash typed or pasted text, or the File tab to drag in a file. All five algorithms are computed together.
- 2 Read the hashes
MD5, SHA-1, SHA-256, SHA-384 and SHA-512 digests appear side by side and update as you type. MD5 and SHA-1 carry a "not for security" badge.
- 3 Pick an output format
Switch between lowercase hex, uppercase hex, and Base64. The format applies to every digest and to the verify check.
- 4 Copy a digest
Click Copy on any row to put that digest on your clipboard in the selected format.
- 5 Verify a checksum
Paste an expected checksum into the verify field. A green match badge highlights the algorithm it matches, so you can confirm a download is intact.
Reference
Hash Algorithms Compared
| Algorithm | Digest size | Status | Best for |
|---|---|---|---|
| MD5 | 128-bit | Broken | Casual integrity checks only |
| SHA-1 | 160-bit | Broken | Legacy compatibility only |
| SHA-256 | 256-bit | Secure | General-purpose integrity & signing |
| SHA-384 | 384-bit | Secure | Truncated SHA-512, certificates |
| SHA-512 | 512-bit | Secure | High-assurance integrity |
Pitfalls
Common Mistakes
-
Forgetting the trailing newline
Typing "hello" here hashes 5 bytes, but echo "hello" on a terminal hashes 6 — it appends a newline. Use printf '%s' to get a matching digest.
-
Trusting MD5 or SHA-1 against an attacker
Both have practical collision attacks. They are fine for spotting accidental corruption, but never use them to prove a file has not been tampered with. Use SHA-256 or stronger.
-
Hashing passwords with these algorithms
MD5, SHA-1 and SHA-2 are far too fast for password storage — an attacker can try billions of guesses per second. Use bcrypt, scrypt, or Argon2 instead.
-
Comparing digests in different formats
A hex digest and a Base64 digest of the same data look completely different. Match the output format to the checksum you are verifying, or let the verify field normalise it for you.