Hash Generator

Generate SHA-1, SHA-256, SHA-384, and SHA-512 hashes of any text, live as you type.

Text to hash

About the Hash Generator

A hash function turns any input into a fixed length fingerprint. The same input always produces the same hash, and changing even one character produces a completely different one. That makes hashes the standard way to verify file integrity, compare values without storing them, deduplicate data, and sign things.

This tool computes SHA-1, SHA-256, SHA-384, and SHA-512 of whatever you type, live, using the Web Crypto API built into your browser. Nothing is transmitted, so hashing secrets, internal identifiers, or unreleased content is safe.

Which one to use: SHA-256 is the modern default for almost everything, from checksums to signatures. SHA-512 is the same family with a longer output. SHA-1 is broken for security purposes (collisions can be manufactured) and survives only for legacy compatibility, like git object IDs. MD5 is not offered here because it has been considered unusable for security for two decades.

Your ad could be here

Reach developers and designers who use these tools every day. Privacy-first, no trackers.

Frequently asked questions

Can a hash be reversed to get the original text?

No. Hashing is one way by design. The only way to find an input from a hash is to guess inputs and compare, which is why short or common inputs (like passwords) can still be cracked by brute force despite hashing.

Is SHA-256 enough for passwords?

No. Passwords need slow, salted hashing designed for the purpose: bcrypt, scrypt, or argon2. Plain SHA-256 is fast, and fast is exactly what you do not want for password storage, because attackers can guess billions per second.

Why is MD5 missing?

MD5 is cryptographically broken: different inputs can be made to produce the same hash. Browsers do not even implement it in the Web Crypto API. If a legacy system requires MD5 checksums, compute them there; for everything else use SHA-256.

Does the same text always give the same hash?

Yes, byte for byte. Note that invisible differences (trailing spaces, Windows vs Unix line endings, Unicode normalization) change the bytes and therefore the hash. If two hashes unexpectedly differ, compare the raw bytes.