How to check a file's checksum
- Choose File and drop the file you downloaded, or choose Text to hash what you type.
- All five hashes are calculated. Large files show progress as they are read.
- Paste the checksum from the download page into Expected checksum. Capitals and spaces are ignored. If one of the hashes matches, its row turns green and the message says which algorithm it was.
- If nothing matches, the file is not the one the publisher released: the download may be incomplete or corrupted, or the file may have been replaced. Download it again from the official source.
What a hash is
A cryptographic hash function turns any amount of data into a short, fixed-length fingerprint. The same input always gives the same hash; changing a single bit changes the hash completely; and for a secure hash it is infeasible to find two different inputs with the same hash or to work backwards from a hash to the input. That is what makes hashes useful for checking downloads: the publisher posts the hash of the real file, you hash what you received, and the two agree only if the file is bit-for-bit identical.
Which algorithm to trust
| Algorithm | Length | Status |
|---|---|---|
| MD5 | 128 bits (32 hex digits) | broken — collisions can be produced deliberately; fine for spotting accidental corruption only |
| SHA-1 | 160 bits (40 hex digits) | broken — a practical collision was demonstrated in 2017; do not use for security |
| SHA-256 | 256 bits (64 hex digits) | secure; the usual choice for download checksums |
| SHA-384 | 384 bits (96 hex digits) | secure |
| SHA-512 | 512 bits (128 hex digits) | secure |
MD5 and SHA-1 are included because many older download pages still publish them, and they still reliably detect an accidentally damaged file. They do not protect against someone who deliberately replaces a file, because attackers can craft different files with the same MD5 or SHA-1 hash. Prefer SHA-256 whenever the publisher offers it.
How it is computed here
The SHA family uses the Web Crypto API built into your browser. MD5 is not part of Web Crypto, so it is implemented on this page following RFC 1321 and verified against the RFC's own test values and against Node.js on 3 MB of random data. Text is converted to bytes as UTF-8 before hashing, so the same Chinese or accented text gives the same hash as command-line tools on a UTF-8 system.
Hashing is not password storage
Fast hashes such as SHA-256 should not be used on their own to store passwords: they are designed to be quick, which also makes guessing quick. Password storage needs a deliberately slow, salted algorithm such as Argon2, bcrypt or scrypt.
Examples
| Input | Algorithm | Hash |
|---|---|---|
| empty text | MD5 | d41d8cd98f00b204e9800998ecf8427e |
abc | MD5 | 900150983cd24fb0d6963f7d28e17f72 |
abc | SHA-1 | a9993e364706816aba3e25717850c26c9cd0d89d |
abc | SHA-256 | ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad |
These are the standard test vectors from RFC 1321 and FIPS 180-4, so you can use them to confirm any hashing tool is working. On the command line the equivalents are shasum -a 256 file on macOS and Linux, and certutil -hashfile file SHA256 on Windows.
Limits
- SHA hashes of files over 512 MB are not calculated. Web Crypto can only hash a whole file at once, which would need the entire file in memory. MD5 is computed in 4 MB pieces and works for files of any size.
- Text is hashed as UTF-8 with line breaks exactly as typed. A trailing newline changes the hash, which is a common reason two tools disagree on text.
- No HMAC or keyed hashes, and no SHA-3 or BLAKE family, which Web Crypto does not provide.
Frequently asked questions
How do I verify a download with a checksum?
Hash the downloaded file here and paste the checksum from the publisher's site into Expected checksum. A green row means the file is identical to the one they published.
Is my file uploaded?
No. The file is read and hashed in your browser; this is the only safe way to hash private documents.
Is MD5 still safe?
Not for security. It detects accidental corruption, but attackers can create different files with the same MD5. Use SHA-256 when you can.
Why do two tools give different hashes for the same text?
Usually because of an invisible difference such as a trailing newline, different line endings or a different text encoding.
Can a hash be reversed?
No. A hash is a one-way fingerprint. For short, guessable inputs, attackers can try likely values and compare, which is why passwords need special slow hashing.