SHA-3 & Keccak Hash Generator

Compute SHA3-224/256/384/512, Keccak-256/512, and SHAKE128/256 digests from text or hex bytes, right in your browser.

The SHA-3 & Keccak Hash Generator runs entirely in your browser. The text and hex bytes you hash are processed on your device and are never uploaded to ArrayKit.

Open the SHA-256 & SHA-1 Hash tool

About SHA-3 & Keccak Hash Generator

The SHA-3 & Keccak Hash Generator computes the full FIPS 202 family — SHA3-224, SHA3-256, SHA3-384, and SHA3-512 — plus the original Keccak-256 and Keccak-512 and the SHAKE128/SHAKE256 extendable-output functions. Type UTF-8 text or switch to hex mode to hash raw bytes, and the lowercase digest updates as you type. It is built for the everyday confusion around these algorithms: SHA3-256 and Keccak-256 look identical but differ by one padding byte, and Ethereum settled on Keccak-256 before the standard was finalized. Use it to derive an Ethereum function selector, verify a Solidity keccak256 result, check a SHA-3 checksum, or pick a SHAKE output length. Every digest is computed in your browser, so the values you hash stay on your device.

Features

How to use the SHA-3 & Keccak Hash Generator

  1. Pick an algorithm — SHA3-256, Keccak-256, SHAKE256, and more
  2. Choose UTF-8 to hash text or Hex to hash raw bytes
  3. Type or paste your input; the digest appears instantly
  4. For SHAKE, set the output length in bits, then copy the hex digest

Example

Input

algorithm: Keccak-256
input: "" (empty string)

Output

c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470

The empty-string Keccak-256 hash that Ethereum tooling relies on everywhere.

Common errors & troubleshooting

Frequently asked questions

What is the difference between SHA-3 and Keccak-256?
They run the same Keccak sponge but append a different domain-separation byte before padding (0x06 for SHA-3, 0x01 for Keccak). That single difference makes their digests completely different, so a value hashed with SHA3-256 will never equal the same value hashed with Keccak-256.
Why does Ethereum use Keccak-256 instead of SHA3-256?
Ethereum adopted Keccak-256 from the original Keccak submission before NIST finalized SHA-3 with slightly different padding. To stay compatible, Ethereum and Solidity's keccak256 kept the original variant, which is why addresses and function selectors are built on Keccak-256.
What are SHAKE128 and SHAKE256?
They are extendable-output functions (XOFs): instead of a fixed size you choose how many bits of digest you want. The 128 and 256 refer to their security strength, not the output length, so you can request 128, 256, 512, or more bits from either one.
How do I hash raw bytes to match a keccak256 call on ABI-encoded data?
Switch the input toggle to Hex and paste the bytes as hexadecimal — an optional 0x prefix and spaces are fine. The tool hashes those exact bytes rather than their UTF-8 text, which is what a Solidity keccak256 over encoded data expects.
Is SHA-3 just a faster or more secure version of SHA-256?
No. SHA-3 is a completely different design — a Keccak sponge rather than the Merkle–Damgård construction behind SHA-256 — chosen as a standardized alternative. At the same digest size they offer comparable collision resistance, and their outputs are entirely different, so SHA-3 is not a drop-in replacement.
What output length should I choose for SHAKE?
Match whatever the specification you are implementing asks for. A common default is 256 bits for SHAKE128 and 512 bits for SHAKE256, but any positive multiple of 8 bits works — this tool fills in those defaults and lets you override them.

Related tools

All ArrayKit tools