Skip to content

Developer tools

SHA Hash Generator

Hash text with SHA-1, SHA-256, SHA-384 and SHA-512 at once, in your browser. Uses the Web Crypto API, so digests match what your server will compute.

Text

Hashed in your browser with Web Crypto. Nothing is sent.

Hashing is one-way. These digests cannot be reversed — but a short or common input can be found by guessing, which is why passwords need bcrypt or Argon2 rather than a plain hash.

SHA-256

The default for almost everything. Use this unless something requires otherwise.

SHA-512

Longer digest, no practical security difference.

SHA-384

Truncated SHA-512, required by some TLS suites.

SHA-1

Broken for signatures since 2017. Fine for a checksum, never for security.

About the hash generator

A hash turns any input into a fixed-length fingerprint. The same input always produces the same digest, a one-character change produces a completely different one, and there is no way to work backwards from the digest to the input. Those three properties are what make hashes useful for verifying that something arrived intact.

All four algorithms are computed at once as you type, because in practice you are usually checking a digest against one somebody else produced, and knowing which algorithm they used is half the problem. Seeing all four side by side means you can just look for the one that matches.

This uses the Web Crypto API — the browser's own implementation — so a digest computed here is byte-identical to what your server, your CI and your package manager will compute for the same input. Text is hashed as UTF-8 bytes, which is what every server-side implementation does; hashing UTF-16 code units instead would give a different digest for the same visible text and quietly disagree with everything.

SHA-1 is included and labelled honestly. It has been broken for signature purposes since 2017, when a practical collision was demonstrated, and it should never be used where an attacker could benefit from forging a match. It remains perfectly serviceable as a checksum against accidental corruption, and plenty of existing systems still emit it, which is why it is here.

One thing a hash is not for: storing passwords. A plain hash is fast by design, and fast is exactly wrong for a password — an attacker with the digests can try billions of guesses a second. Passwords need a deliberately slow function such as bcrypt, scrypt or Argon2, which no general-purpose hash tool should pretend to replace.

Frequently asked questions

Was this tool helpful?