Hash Generator
Generates MD5, SHA-1, SHA-256 and SHA-512 digests of any text, all four at once and updating as you type. Input is hashed as UTF-8, so results match what your backend produces for the same string.
SHA digests are computed with the browser's built-in WebCrypto implementation. MD5 is implemented in the app itself because WebCrypto deliberately omits it — a decision worth understanding rather than working around blindly.
How to use it
- Type or paste the text you want to hash.
- All four digests appear immediately and update as you edit.
- Copy any digest with its own copy button.
Which algorithm to use
MD5 and SHA-1 are both cryptographically broken: practical collision attacks exist for each, so neither should be used for signatures, certificates or integrity guarantees against an adversary. They remain useful for non-adversarial checksums, cache keys, ETag debugging and interoperating with legacy systems, which is why they are offered here with a warning attached.
For anything security-relevant use SHA-256 or SHA-512. For password storage use none of these — passwords need a deliberately slow algorithm such as bcrypt, scrypt or Argon2, because a fast hash is exactly what makes brute forcing cheap.
Correctness
All four implementations are checked against the published test vectors, so SHA-256 of 'abc' produces ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad, and the MD5 implementation is verified against the reference output for the standard test strings including multi-byte input.
Frequently asked questions
Is my input sent to a server to be hashed?
- No. Hashing happens in your browser, which is the only responsible way to offer this given people hash secrets and tokens to compare them.
Should I use MD5 for anything?
- Only where collisions do not matter — checksums against accidental corruption, cache keys, or matching a legacy system's output. Never for signatures, integrity against tampering, or passwords.
Why does my hash differ from another tool's?
- Usually a trailing newline in one of the inputs, or a different character encoding. This tool hashes exactly the bytes of your text as UTF-8, with nothing appended.
Can I hash a file?
- Not currently — the input is text. Paste file contents if they are textual, or use a command-line tool such as shasum for binary files.