File SHA-256 Checksum Tool
This tool generates SHA256 checksum of a file to check if it was corrupted or altered. The checksum can also be used when sharing files. Processing is done in the browser, files are not uploaded.
This tool is fast, but processing of large files may take some time. For example, a 3GB file can take a minute or more to process, depending on your device. Processing time grows linearly with file size. Further details...
It's WASM, It's Fast
This page uses the WebAssembly (WASM) technology, which is faster than the same JavaScript code for computing the SHA256 hash. Modern browsers provide CryptoAPI functions that are faster than WASM, but they lack streaming processing. This means the file must be fully loaded into the browser's memory before processing, which can be a problem for large files. Therefore, the WASM option seems to be the best for computing the SHA-256 hash of files of different sizes in web applications.
Here are the results of performance tests for obtaining the SHA256 hash of a 100 MB (104,857,600 bytes) file.
Method | ms | bytes per ms | |
---|---|---|---|
Windows 11, Intel Core i7-10700 CPU 2.90GHz (Desktop, 2020) | |||
Edge CryptoAPI | 465 | 225,500 | |
Edge WASM | 740 | 141,700 | |
Edge Javascript | 7,475 | 14,000 | |
Firefox CryptoAPI | 683 | 153,500 | |
Firefox WASM | 980 | 107,000 | |
Firefox JavaScript | 4,950 | 21,180 | |
Powershell | 302 | 347,200 | |
VM Linux Mint | 385 | 272,350 | |
WSL Ubuntu | 872 | 120,250 | |
Windows 11, AMD Ryzen 9 7940HS 4.00 GHz (Mobile, 2023) | |||
Edge WASM | 540 | 194,100 | |
Edge Javascript | 4,760 | 22,000 | |
Powershell | 104 | 1,008,245 | |
Android 14, Samsung Exynos 2400e 3.11 GHz (Phone, 2024) | |||
Firefox WASM | 1210 | 86,659 | |
Chrome WASM | 2400 | 43,690 |
You can use the command line to get the SHA-256 checksum.
Linux:
sha256sum <your_file>
Mac:
shasum -a 256 <your_file>
Windows Powershell:
Replace <your_file> with the path and name of the file you want to hash. Use quotes if the path or file name contains spaces.
Trivia
• The hash of an empty file is
e3b0c44298fc1c149afbf4c8996fb92427ae​41e4649b934ca495991b7852b855
.
Though it may seem useless, it serves as a reference point in hashing algorithms.
• You can add the expected URL parameter when linking to this page.
• SHA-256 produces an output of 256 bits, so there are 2256 possible hash values. Obviously there are many more files; therefore collisions must exist. Still, no two distinct files have been found so far with the same SHA-256 hash, and the algorithm is considered secure against known collision attacks.