Check a download against the value the publisher printed. It compares for you.
Choose a file, paste the value the publisher printed if you have one, then press Check the file.
What it's for
Check that a file you downloaded is exactly the one its maker published — not cut short by a broken download, and not swapped for something else.
Before you start
Have the downloaded file on this device, and the checksum the publisher printed beside the download: a long string of letters and numbers, usually labelled SHA-256.
Choose the file
Press Choose a file and pick the file you downloaded, or drag it onto the box. It is read here in your browser — Nothing leaves this page.
Paste the publisher's checksum
Copy the checksum from the publisher's download page and paste it into What the publisher printed. Paste the whole line as it is: spaces, capitals, a "sha256:" in front or a file name after it are all fine. Leave the box empty if you only want the checksums themselves.
Check the file
Press Check the file. If you change the file or the pasted value afterwards, the answer is cleared and you press the button again, so what is on screen is always about what is above it.
Read the answer, then copy if needed
Read the one word at the top of Checksum, explained below. Under it are the file's SHA-256, SHA-384 and SHA-512, with a ✓ beside the one that matched; press Copy beside any you need.
Reading the result
If it goes wrong
Nobody reads sixty-four hex characters. People check the first four and the last four — and that is precisely the check a substituted file is built to pass.
So the machine does the comparing here. Paste the line the publisher printed and one word comes back.
And there is a limit to what a match means, which is printed too. It says the file is byte for byte the one whose digest that was. It says nothing about whether the publisher is trustworthy, and nothing about whether the page you copied the digest from was really theirs — somebody able to replace a download can usually replace the line printed beside it.
A signature proves who published something. A checksum only proves what arrived.
And there is no MD5 here, deliberately. Two different files can be constructed with the same MD5, so a match no longer proves they are the same file. Offering it beside SHA-256 without a word would let somebody verify a download with a check a capable attacker can defeat — and believe they had verified it.
No. It is read from your disk into this browser tab and hashed there. There is no upload and no server, which matters here for an unusual reason: a checksum page that uploaded your file would have to be trusted not to substitute the answer, and then the check would prove nothing at all.
Because nobody reads sixty-four hex characters. People check the first four and the last four, and a substituted file is built to pass exactly that glance. Paste the line the publisher printed and the comparison is done character by character, which is the only version of this check that is worth doing.
Before assuming the worst: the commonest causes are a download that stopped early, a digest copied from a different version of the same thing, or a file that something opened and re-saved on the way. Check the file size against the one on the download page, then download it again. If it still disagrees, do not run it.
That the file is byte for byte the one whose digest you pasted. That is all. It says nothing about whether the publisher is trustworthy, and nothing about whether the page you copied the digest from was really theirs — somebody able to replace a download can usually replace the line printed beside it. A signature proves who published something; a checksum only proves what arrived.
Because it is broken for this job. Two different files can be constructed with the same MD5, so a matching digest no longer proves two files are the same file — and offering it beside SHA-256 without a word would let somebody verify a download with a check a capable attacker can defeat, and believe they had verified it. SHA-1 is out for the same reason. Where a publisher offers only an MD5, the honest answer is that the publisher should print something better.
SHA-256 is the right default and is what almost everything publishes now. SHA-512 is not meaningfully more secure for this purpose — it is faster on 64-bit machines and produces a longer string. If a publisher offers SHA-256 and MD5, use the SHA-256 and ignore the other one.
No. A hash is computed from the contents alone, so renaming a file, changing its timestamp or moving it between drives never changes its digest. That is what makes the check useful: it survives everything except a change to the bytes themselves.
Because the browser’s own crypto is asynchronous, and this site’s calculation engine is built entirely from pure synchronous functions — one await would have changed the shape of the whole layer. So SHA-256 and SHA-512 are written out by hand in it. The dividend is that they behave identically in every browser and work with no connection at all.
The browser’s own crypto is asynchronous, and this site’s calculation engine is built entirely from pure synchronous functions — one await would have changed the shape of the whole layer. So SHA-256 and SHA-512 are written out by hand in it. The dividend: identical behaviour in every browser, and it works with no connection at all.
Important
The file is read in your browser and nothing about it is transmitted or stored. A matching checksum proves the file is the one whose digest you pasted — it does not prove the publisher is trustworthy, or that the digest itself came from them. Nothing you type here is sent to our servers — the calculation runs entirely in your browser.