SHA-256 hash generator
This tool turns any text into its SHA-256 digest — a fixed 256-bit fingerprint shown as 64 hexadecimal characters. It’s used to verify that a file or message hasn’t changed, to compare values without storing the original, and as a building block in TLS, blockchains, and digital signatures. The hash updates as you type and never leaves your browser.
How it works
The input text is encoded to UTF-8 bytes with TextEncoder, then hashed by the
browser’s native Web Crypto API via crypto.subtle.digest("SHA-256", data). The
resulting ArrayBuffer is converted to a lowercase hex string. SHA-256 is
deterministic (same input, same output) and one-way (you cannot derive the input
from the hash), and a single changed character flips roughly half the output bits.
Example
| Input | SHA-256 (first 16 of 64 hex chars) |
|---|---|
hello | 2cf24dba5fb0a30e… |
Hello | 185f8db32271fe25… |
| (empty string) | e3b0c44298fc1c14… |
Note how hello and Hello produce entirely different digests — that
sensitivity to change is the point.
A note on passwords: SHA-256 is too fast to be a safe password store on its own. For passwords use a purpose-built, deliberately slow hash like bcrypt or Argon2. Hashing here runs entirely in your browser, so it is safe to use with sensitive strings — nothing is uploaded.