Verify a file checksum or generate text hashes in your browser. Compare SHA-256 or SHA-512 without uploading your file.
Select a local file, calculate its SHA-256 or SHA-512 checksum, and compare it with a trusted digest. File bytes stay in this page. Up to 32 MiB per file.
Try a match and a mismatch without a file. Clear existing inputs first; they will not be replaced.
Optional: paste the expected digest from a trusted publisher to compare.
This tool reads the entire file into memory. For larger files, run a local command:
shasum -a 256 ./download.zipsha256sum ./download.zipGet-FileHash ./download.zip -Algorithm SHA256Different algorithms, different releases, changed line endings, or a truncated download produce different digests. A matching digest is not a malware scan or a digital-signature check. Obtain the expected value from an authenticated publisher source.
Browser digest API and memory limitations · What hash collisions mean
Bcrypt is computationally expensive by design. This browser output is for learning and testing; use your application's password-hashing library for production credentials.
Note on MD5/SHA-1: These algorithms have practical collision weaknesses. Use them only when a legacy format requires them, never for authenticity decisions or password storage.
Pick the file in the checksum box above, choose the algorithm the publisher used, and paste the published value. The tool reports a match or a mismatch. Upper and lower case are treated as equal, and the file is read in this browser tab. It accepts files up to 32 MiB; for larger images use a command line. Each of these prints the same digest, so you can cross-check the page against your own machine:
# Linux (GNU coreutils)
sha256sum ubuntu.iso
# macOS (also works on most Linux systems)
shasum -a 256 ubuntu.iso
# Windows PowerShell (prints the hash in upper case; -eq ignores case)
(Get-FileHash .\ubuntu.iso -Algorithm SHA256).Hash
# When the publisher ships a SHA256SUMS file, let sha256sum check every listed file
sha256sum -c SHA256SUMS --ignore-missingThe message abc(three bytes) is the one-block message in NIST's published SHA example values. Type it into "Hash text" above, or run printf abc | sha256sum. If your digest differs, the input is not what you think it is. The classic cause is echo abc, which appends a newline and changes the digest completely.
| Input | Algorithm | Digest |
|---|---|---|
abc | SHA-256 | ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad |
abc | SHA-1 | a9993e364706816aba3e25717850c26c9cd0d89d |
abc | MD5 | 900150983cd24fb0d6963f7d28e17f72 |
abc plus a newline (echo abc) | SHA-256 | edeaaff3f1774ad2888673770c6d64097e391bc362d7d6fb34982ddf0efd18cb |
| Empty input | SHA-256 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 |
For detecting a corrupted or changed file, use SHA-256 or SHA-512, both defined in FIPS 180-4. MD5 and SHA-1 still detect accidental corruption, but a motivated attacker can build two different files with the same digest: RFC 6151 documents the MD5 collision attacks, and researchers published a practical SHA-1 collision in 2017. NIST has said it will phase SHA-1 out by 31 December 2030. If a project publishes only MD5 or SHA-1, the tool still shows them, but treat a match as a corruption check only.
A match proves that your file equals whatever the publisher listed. It does not prove the publisher is who you think, or that the listed value was not changed. If the checksum sits on the same web page as the download, someone who can replace the file can usually replace the checksum too. Get the value over a separate channel, or verify a digital signature (for example a GPG or minisign signature over the checksum file), which is the part that ties the value to a key you chose to trust.
Not password storage. SHA-256 is fast on purpose, so an attacker who steals a table of fast hashes can test guesses at enormous speed. The OWASP Password Storage Cheat Sheet recommends slow, salted algorithms such as Argon2id or bcrypt; our password security article covers the details. The Bcrypt box on this page is for learning and testing.
Not a keyed signature. Anyone can compute a plain hash of a message, so it cannot show who sent it. HMAC (RFC 2104) mixes in a secret key: HMAC-SHA256 of abc with the key key is 9c196e32dc0175f86f4b1cb89289d6619de6bee699e4c378e68309ed97a1a6ab, unrelated to the plain digest above. To compute and compare HMACs, for example for webhook signatures, use the webhook signature verifier.