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
- Covers SHA3-224, SHA3-256, SHA3-384, and SHA3-512 from NIST FIPS 202
- Includes the original Keccak-256 and Keccak-512 used across Ethereum
- SHAKE128 and SHAKE256 with a byte-aligned output length you choose
- Hash UTF-8 text or paste raw hex bytes with a one-click toggle
- Digest updates live as you type and copies with a single click
- Shows the digest length in bits so you can confirm the right variant
- Clear error when pasted hex has an odd length or bad characters
- Runs entirely in your browser — nothing you hash is uploaded
How to use the SHA-3 & Keccak Hash Generator
- Pick an algorithm — SHA3-256, Keccak-256, SHAKE256, and more
- Choose UTF-8 to hash text or Hex to hash raw bytes
- Type or paste your input; the digest appears instantly
- 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
- SHA3-256 and Keccak-256 give different results for the same text. — That is expected — they use different padding. Use Keccak-256 for Ethereum and Solidity's keccak256; use SHA3-256 for the NIST-standard hash.
- Hex mode reports an odd number of digits. — Each byte is two hex characters, so the input must have an even length. Remove any stray nibble or non-hex character and try again.
- A SHAKE digest is longer or shorter than expected. — SHAKE length is set in bits, not bytes — 256 bits is 64 hex characters. Make sure the length is a positive multiple of 8.
- The digest does not match my Solidity keccak256 output. — Solidity hashes the raw bytes of the ABI-encoded value. Switch to Hex mode and paste those exact bytes rather than the human-readable text.
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
- Hash Generator — SHA-256 / SHA-1 / SHA-384 / SHA-512 via the Web Crypto API.
- File Hash Checksum — Compute MD5, SHA-1, SHA-256 and SHA-512 checksums of files and compare against an expected hash.
- HMAC Generator — Generate an HMAC (SHA-256, SHA-1, SHA-512) from a message and secret key using Web Crypto.
- Base64 Encode / Decode — UTF-8 safe Base64 encoding and decoding.
- AES Encrypt / Decrypt — Encrypt and decrypt text with AES-GCM and a passphrase, using Web Crypto in your browser.
- X.509 Certificate Decoder — Decode a PEM or DER certificate to view subject, issuer, validity, SANs and fingerprints.
All ArrayKit tools