SHAKE256 File
Compute the SHAKE256 (extendable-output function) hash of any file at 512-bit output.
Calculate the SHAKE256 hash of a file at 512-bit output. Free, offline, runs entirely in your browser. Read more Show less
What is SHAKE256 file hashing?
SHAKE256 is an extendable-output function (XOF) from the SHA-3 family, standardized in FIPS 202. Unlike fixed-output hashes, SHAKE256 can produce any number of bits. This tool outputs 512 bits (64 bytes), shown as 128 hexadecimal characters - the standard length used by most libraries.
Because SHAKE256 is an XOF, its output length is a parameter, not a property. Different tools that produce different lengths will produce completely different hashes for the same file. Always specify the length when comparing checksums.
How to use
Drag, click, or paste a file. The tool streams the file in chunks and computes SHAKE256 as it reads. It also accepts a URL; the server must allow cross-origin requests.
Extendable output
The output of SHAKE256 is 512 bits. That is the length used by OpenSSL, Python's hashlib, and the NIST reference implementation when a fixed-length output is needed. If your protocol specifies a different length, use a native library to compute it - the hash of the same file is different for every output length.
FAQ
Are files uploaded?
No. Everything runs locally in your browser. Files are streamed in chunks and never sent anywhere.
Why is my checksum different from the vendor's?
Confirm you have the exact same file. A re-download that includes any trailer or redirect can produce a different hash. Read the file in binary mode; text modes can alter line endings.
How large a file can I hash?
Any size your browser can open. Files are streamed in chunks, so memory use stays flat regardless of file size.
Can I verify a signed download with this?
It verifies the file matches the checksum you were given. The security of the verification depends on where the checksum came from: HTTPS from the vendor is far better than a checksum posted in a forum.
Command line equivalent
# OpenSSL 3.x (specify output length with -xoflen)
openssl dgst -shake256 -xoflen 64 myfile.bin
# Python
python3 -c 'import hashlib; print(hashlib.shake_256(open("myfile.bin","rb").read()).hexdigest(64))' The server must allow cross-origin requests (CORS). If it doesn't, download the file and use the File tab.