Hash Generator

Generate SHA-1, SHA-256, SHA-512 hashes from text.

Three Hashes, One Click

Enter any text and the tool computes its SHA-1, SHA-256, and SHA-512 digests simultaneously using the browser's built-in Web Crypto API — the same audited implementation TLS relies on, not a JavaScript re-implementation. Each result is shown as lowercase hex; click any hash to copy it.

Example — the SHA-256 of Hello World:

a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e

Change one character (Hello world, lowercase w) and every bit of the output reshuffles — that's the avalanche effect, and it's why hashes work as fingerprints.

Choosing an Algorithm

AlgorithmOutputStatusUse it for
SHA-1160 bit / 40 hex charsBroken for collisions (2017)Legacy compatibility only — git object IDs, old checksums
SHA-256256 bit / 64 hex charsSecure, industry defaultFile integrity, signatures, general fingerprinting
SHA-512512 bit / 128 hex charsSecureExtra margin; often faster than SHA-256 on 64-bit CPUs

Default to SHA-256 unless something forces your hand. SHA-1 collisions have been demonstrated in practice — two different inputs producing the same hash — so never use it where an attacker could benefit from forging a match. MD5 is even further gone and isn't offered here for that reason.

What Hashes Are For — and What They're Not

  • Integrity checks: compare a downloaded file's published SHA-256 with your own computation; a match proves the bytes are identical.
  • Deduplication and cache keys: hash the content, use the digest as an ID.
  • Commit and content addressing: git, IPFS, and container registries all identify content by hash.
  • Not encryption: hashing is one-way — there is no key and no decrypt. You can't recover the input from the digest.
  • Not for passwords, even SHA-256: plain hashes compute billions of guesses per second on a GPU. Password storage needs a deliberately slow, salted algorithm — bcrypt, scrypt, or Argon2. If you need a strong password, use the password generator.

Deterministic, Local, Private

The same input always yields the same digest — that determinism is the whole point, and it also means anything guessable (a phone number, a dictionary word) can be reversed by brute-force lookup tables, which is exactly why unsalted hashes fail for passwords. All hashing here runs entirely in your browser via crypto.subtle.digest(); the text you enter never leaves your machine. For random identifiers rather than content fingerprints, use the UUID generator.

Frequently Asked Questions

What hash algorithms are supported?
SHA-1, SHA-256, and SHA-512 — all computed at once via the browser's Web Crypto API. SHA-256 is the recommended default; SHA-1 is included for legacy compatibility only.
Can I reverse a hash to get the original text?
No. Cryptographic hashes are one-way functions. The only "reversal" is guessing inputs and comparing digests, which works for short or common inputs — one more reason never to hash passwords without salt and a slow algorithm.
Why is there no MD5 option?
MD5 has been cryptographically broken for two decades — collisions can be generated in seconds — and the Web Crypto API deliberately doesn't implement it. For any new use, SHA-256 is the correct choice.
Is SHA-256 safe for storing passwords?
On its own, no. Fast hashes allow billions of GPU guesses per second. Use a dedicated password-hashing algorithm — bcrypt, scrypt, or Argon2 — which adds salt and a tunable work factor.
Is my text sent anywhere when I hash it?
No. Hashing runs entirely in your browser through crypto.subtle.digest(); the input never leaves your device.