About File hash
A checksum is a short fingerprint of a file. Run the same file through the same algorithm twice and you get the same string both times; change a single byte anywhere in the file and the string changes completely. That property makes checksums the standard way to confirm a download arrived intact and unmodified.
The usual reason to want one is verification. A project publishes the SHA-256 of its installer alongside the download link; you hash the file you actually received and compare the two strings. If they match, your copy is byte-for-byte identical to the one the publisher intended to ship. If they differ, the file was corrupted in transit or tampered with, and you should not run it. The same check is useful for confirming that a large transfer completed correctly, or that two files you suspect are duplicates really are identical.
This tool computes the digest using the Web Crypto API built into your browser. The file is read into memory on your own device, hashed there, and the result is displayed. Nothing is uploaded, which is why this works on files you would not be comfortable sending to a stranger's server — private keys, backups, contracts, disk images.
Which algorithm to use. SHA-256 is the right default and what almost every project publishes. SHA-384 and SHA-512 produce longer digests; they are not meaningfully more secure for file verification but are sometimes required by a specific policy. SHA-1 is included because a lot of older software still publishes SHA-1 sums, but it is cryptographically broken — an attacker can construct two different files with the same SHA-1. Use it to check for accidental corruption, never to verify that a file is authentic.
On MD5. We deliberately do not offer it. Browsers do not implement MD5 in Web Crypto, and it is even more thoroughly broken than SHA-1. Adding a JavaScript implementation would mean shipping extra code so people can use an algorithm they should not be relying on.
There is no size limit with SHA-256. Hashing consumes the file in fixed-size blocks and never needs all of it at once, so above 256 MB this tool switches to a streaming implementation that reads 8 MB at a time. Memory use stays flat whether the file is 10 MB or 100 GB.
Below that threshold it uses the browser's built-in hasher, which is hardware-accelerated and several times faster. Both paths are verified against the same NIST test vectors and produce identical output — the only difference is which one is quicker at that size.
The other algorithms have no streaming implementation and are still bounded by memory. If you hit that limit on a very large file, switch to SHA-256.
Output is formatted the same way `shasum` prints it, so you can paste it straight into a terminal check.
Questions
Is my file uploaded anywhere?
No. The hash is computed by your browser using the Web Crypto API. The file never leaves your device, and the page cannot upload it — network access is restricted by our Content Security Policy.
Why do I get a different hash than the website I downloaded from?
Either the file is different from the one they published, or you are comparing different algorithms. Check that both sides say SHA-256 (or whichever you picked) before assuming the file is bad.
Can you add MD5?
No. Browsers do not provide MD5, and it is broken badly enough that we would rather not encourage its use. SHA-256 is the correct choice for verifying a download.
What is the largest file I can hash?
The entire file is read into memory, so it depends on your device. Around 512 MB is comfortable on a desktop; phones have far less headroom and may fail earlier.