FormatterHQ

SHAKE-256 Hash Generator

Compute SHAKE256 — the 256-bit-security SHA-3 extendable-output function — with any output length between 8 and 8192 bits.

Loading tool…
Ready.

How to use the SHAKE-256 Hash Generator

  1. Type or paste text into the input box, or switch the source to File and choose a file — it is hashed locally, never uploaded.
  2. Set Output length (bits); the main result at the top updates as soon as you change it.
  3. Read the main hash at the top — the table below shows the same input under every other common algorithm. Tick Uppercase hex if you need capitals.
  4. To verify a value, paste it into Compare with an expected hash — the tool reports a match, or which algorithm it matches instead. Copy any row with its Copy button.

SHAKE256 hash generator

SHAKE256 is the stronger of the two extendable-output functions in FIPS 202. It offers up to 256 bits of security and produces as much output as you request. The SHAKE256 generator defaults to 512 bits — the length at which it reaches full 256-bit collision resistance — and accepts any multiple of 8 from 8 to 8192.

Example

Input:

The quick brown fox jumps over the lazy dog

SHAKE256, 512-bit output:

2f671343d9b2e1604dc9dcf0753e5fe15c7c64a0d283cbbf722d411a0e36f6ca1d01d1369a23539cd80f7c054b6e5daf9c962cad5b8ed5bd11998b40d5734442

At a glance

PropertyValue
Output lengthAny; this tool supports 8–8192 bits
Rate / capacity1088 / 512 bits
SecurityUp to 256 bits
StandardFIPS 202 (2015)

SHAKE256 absorbs data at the same rate as SHA3-256, so it runs at the same speed; only the output stage differs.

Because the output is a stream, you can also treat SHAKE256 as a deterministic generator: the same input and length always give the same bytes, which is useful for reproducible test data.

Output length and security

Output lengthCollision resistancePreimage resistance
256 bits128 bits256 bits
512 bits256 bits256 bits
1024 bits256 bits256 bits

Longer output is useful when you need more key material, but it does not raise security beyond 256 bits.

Where SHAKE256 is used

  • The Ed448 signature scheme (RFC 8032) uses SHAKE256 internally.
  • Post-quantum standards such as ML-DSA and SLH-DSA use SHAKE256 for hashing and randomness expansion.
  • Key derivation and domain-separated hashing in modern protocols, often via cSHAKE or KMAC, which are built on the same function.

Related NIST functions

NIST SP 800-185 builds several functions on the same sponge: cSHAKE adds a customisation string for domain separation, KMAC turns it into a keyed MAC, and TupleHash and ParallelHash hash structured or very large inputs. If a protocol asks for one of these, plain SHAKE256 will not produce the same output, even though the core permutation is identical.

Using it elsewhere

Python: hashlib.shake_256(data).hexdigest(64) for 512 bits (length in bytes). OpenSSL 3: openssl dgst -shake256 -xoflen 64 file. Remember that SHAKE outputs are prefixes of each other, so a 256-bit SHAKE256 value equals the first half of the 512-bit one.

Compare with SHAKE128 for 128-bit security, or with BLAKE3, another extendable-output hash. SHAKE256 is not a password hash. Everything runs in your browser.

Bits here, bytes elsewhere

The most common reason a SHAKE256 value does not match is a unit mix-up. This tool asks for the output length in bits, while most libraries and command-line tools take bytes:

  • Python hexdigest(32) means 32 bytes, which is 256 bits here.
  • OpenSSL -xoflen 32 also means 32 bytes.
  • Node.js createHash('shake256', { outputLength: 32 }) is bytes as well.

Because shorter outputs are prefixes of longer ones, a mix-up often looks like a partial match: one value is simply the beginning of the other. To check an implementation, hash an empty input with 256 bits of output; the result starts with 46b9dd2b0ba88d13.

Frequently asked questions

What output length should I use with SHAKE256?
512 bits gives full 256-bit collision resistance. 256 bits is enough when only preimage resistance matters, such as for key derivation.
Is SHAKE256 the same as SHA3-512?
No. They use different capacities and domain separation, so even at 512 bits of output the results differ.
Is SHAKE256 slower than SHAKE128?
Yes, somewhat, because its larger capacity means less data is absorbed per permutation. It has the same absorbing speed as SHA3-256.
What is the maximum length here?
This tool supports up to 8192 bits (1024 bytes) of output, in multiples of 8 bits.

Last updated September 26, 2026

Related tools

SHAKE-128 Hash Generator Generate SHAKE-128 extendable-output (XOF) hashes of any length from text or files. SHA3-256 Hash Generator Generate the SHA3-256 hash of any text or file online. Instant 256-bit digest in hex, computed in your browser. SHA-512/256 Hash Generator Generate the SHA-512/256 hash of any text or file online. Instant 256-bit digest in hex, computed in your browser. SRI Hash Generator Generate Subresource Integrity (SRI) sha384 hashes and ready-to-paste <script> or <link> tags with integrity and crossorigin attributes. SSH Key Generator Generate OpenSSH key pairs (Ed25519, RSA, ECDSA) in id_ed25519 / id_rsa format with fingerprint — created locally, like ssh-keygen. Whirlpool Hash Generator Generate the Whirlpool hash of any text or file online. Instant 512-bit digest in hex, computed in your browser. WordPress Password Hash Checker Check if a password matches a WordPress user_pass hash ($wp$ bcrypt, $P$ phpass or legacy MD5). WordPress Password Hash Generator Create a WordPress password hash for the wp_users table: bcrypt for WordPress 6.8+ or phpass for older versions. SSL Certificate Decoder (X.509) Decode PEM or DER X.509 SSL/TLS certificates: subject, issuer, SANs, validity, key type, extensions and SHA-256 fingerprints. xxHash Generator Generate xxHash XXH32, XXH64, XXH3 and XXH128 hashes with an optional seed. Adler-32 Hash Generator Generate the Adler-32 hash of any text or file online. Instant 32-bit checksum in hex, computed in your browser. Argon2 Hash Generator Hash and verify passwords with Argon2id, Argon2i or Argon2d using custom memory, iterations and parallelism. Runs locally via WebAssembly.