SHA-256 hash generator
Generate SHA-256 hashes of text or files locally with WebCrypto, and verify a download against the checksum its publisher listed.
- Runs in your browser
- Nothing you enter is sent
- Free, no account
Paste the checksum published next to a download. Comparison ignores case and any spaces.
Verifying a download, step by step
- Copy the SHA-256 value the publisher lists next to the download link.
- Switch to the File tab above and drop the file you downloaded onto it.
- Paste the published value into the comparison box.
- Look for the match banner. Case and whitespace are ignored, so paste it as-is.
A match means the bytes on your disk are exactly the bytes the publisher hashed. A mismatch means something differs — most often an incomplete download, occasionally a mirror serving an older build, and very rarely something worse.
What a checksum does and does not prove
It proves integrity, not authenticity. If an attacker can replace the file, they can usually
also edit the web page that lists the hash, and both change together. That is why serious
projects publish a detached signature — a .asc or .sig file — signed
with a key you can verify independently. The checksum then protects against corruption and the
signature protects against substitution.
Getting the hash from a different channel than the file — the project's Git repository, a mailing-list announcement, a package manager's index — closes much of the gap.
Never use SHA-256 for passwords
This is the single most common misuse. SHA-256 is designed to be fast, and a consumer GPU computes billions of them per second. Against a stolen database that means a weak password falls in seconds, salted or not.
Password storage needs a function that is deliberately slow and memory-hard: Argon2id first choice, then scrypt or bcrypt, each with a per-user salt and a work factor tuned to your hardware. Fast hashes belong on files, not credentials.
The SHA-2 family
| Variant | Digest | Internal word size | Typical use |
|---|---|---|---|
| SHA-224 | 224 bits | 32-bit | Rare; a truncated SHA-256 |
| SHA-256 | 256 bits | 32-bit | The default for almost everything |
| SHA-384 | 384 bits | 64-bit | TLS suites, some government profiles |
| SHA-512 | 512 bits | 64-bit | Archival integrity; often faster on 64-bit CPUs |
SHA-3 is a separate design based on Keccak, standardised in 2015 as insurance rather than because SHA-2 was failing. Browsers do not implement it, so it is not offered here.
Large files and memory
WebCrypto exposes no streaming interface for SHA, so the file must be resident in memory while
it is digested. This page reads it in 8 MB slices with a progress bar and warns beyond
about a gigabyte. For a multi-gigabyte ISO, the MD5 or CRC-32 page will stream it instead, or
use sha256sum locally.
Why hashing here is safe
Everything runs through the browser's native WebCrypto implementation, inside this tab. The
file is never uploaded, and the page cannot reach a server — our Content-Security-Policy
declares no external origin in connect-src. Hashing a confidential archive here is
equivalent to running the command line tool on your own machine.
Questions
How do I verify a download with SHA-256?
Drop the downloaded file on the File tab, paste the publisher’s checksum into the compare box, and look for the match banner. Case and spacing are ignored, so paste it exactly as published.
Does a matching checksum prove the file is safe?
It proves the bytes match what the publisher hashed. If an attacker controls both the file and the page listing the checksum, both change together — which is why signed releases exist.
Is SHA-256 good for storing passwords?
No. It is far too fast: a GPU tries billions of guesses per second. Passwords need a deliberately slow function such as bcrypt, scrypt or Argon2, with a per-user salt.
Why is a big file slower here than on the command line?
WebCrypto has no streaming interface for SHA, so the file has to be held in memory before it is digested. Beyond about a gigabyte, use the MD5 page — which does stream — or a native tool.
Is SHA-256 the same as SHA-2?
SHA-2 is the family; SHA-256, SHA-384 and SHA-512 are members of it, differing in digest length and internal word size. SHA-3 is a separate, newer design and is not offered by WebCrypto.