SHA-3 and Keccak hash generator — all eight variants at once

Hash any text or bytes with SHA-3 as standardised in FIPS 202, or with the original Keccak that Ethereum uses, and compare all eight variants in one table so you can see which one your system expects.

Live demo · real result from this tool
Output

SHA3-256

69070dda01975c8c120c3aada1b282394e7f032fa9cf32f4cb2259a0897dfc04

Table

VariantDigest
SHA3-224d15dadceaa4d5d7bb3b48f446421d542e08ad8887305e28d58335795
SHA3-25669070dda01975c8c120c3aada1b282394e7f032fa9cf32f4cb2259a0897dfc04
SHA3-3847063465e08a93bce31cd89d2e3ca8f602498696e253592ed26f07bf7e703cf328581e1471a7ba7ab119b1a9ebdf8be41
SHA3-51201dedd5de4ef14642445ba5f5b97c15e47b9ad931326e4b0727cd94cefc44fff23f07bf543139939b49128caf436dc1bdee54fcb24023a08d9403f9b4bf0d450
Keccak-224310aee6b30c47350576ac2873fa89fd190cdc488442f3ef654cf23fe
Keccak-2564d741b6f1eb29cb2a9b9911c82f56fa8d73b04959d3d9d222895df6c0b28aa15
Keccak-384283990fa9d5fb731d786c5bbee94ea4db4910f18c62c03d173fc0a5e494422e8a0b3da7574dae7fa0baf005e504063b3
Keccak-512d135bb84d0439dbac432247ee573a23ea7d3c9deb2a968eb31d47c4fb45f1ef4422d6c531b5b9bd6f449ebcc449ea94d0a8f05f62130fda612da53c79659f609

SHA-3 (FIPS 202) and the original Keccak differ only in padding, so their digests differ. Ethereum uses Keccak-256, not SHA3-256.

Processed on your device — nothing is uploaded.

How to use the SHA-3 and Keccak hash generator

  1. Enter your data in Text to hash.
  2. Choose the Variant for the main result: SHA3-224, SHA3-256 (default), SHA3-384, SHA3-512, or Keccak-224, Keccak-256 (Ethereum), Keccak-384, Keccak-512.
  3. Set Input is to Text (UTF-8), Hex bytes or Base64 bytes.
  4. Pick the Output: hex, HEX or Base64.
  5. Copy the main digest, or use the table below it, which lists all eight variants for the same input.

What it does and when to use it

SHA-3 is the newest NIST hash family, built on the Keccak “sponge” design that won a public competition in 2012. Before NIST finalised it in 2015, it changed the padding rule, and by then Ethereum had already adopted the earlier Keccak. That is why two almost identical algorithms are in use today, and why mixing them up is a common bug in blockchain code.

Use this page to compute an Ethereum function selector or event topic, check a SHA-3 test vector, or work out which variant a library is really using by comparing its output with the table. For the SHA-2 family, see the SHA-256 generator and the SHA-512 generator. To see SHA-3 next to MD5, BLAKE3 and others at once, use hash all.

How it works

The hash-wasm library runs the Keccak-f[1600] permutation as WebAssembly in your browser. The input bytes are absorbed into a 1,600-bit state in chunks, the state is shuffled with 24 rounds after each chunk, and the digest is squeezed out at the end. Bigger outputs absorb smaller chunks per round, which is why SHA3-512 is slower than SHA3-256.

The only difference between the two families is the padding: FIPS 202 SHA-3 adds the domain bits 0x06 to the end of the message, original Keccak adds 0x01. One changed bit at the start of padding gives a completely different digest.

Worked examples

FIPS 202 example. abc with SHA3-256 gives 3a985da74fe225b2045c172d6bd390bd855f086e3e9d525b46bfe24511431532. The table shows Keccak-256 of the same abc as 4e03657a…a12d6c45, a completely different value.

Ethereum’s empty hash. With Input is set to Hex bytes, nothing typed and Keccak-256 selected, the result is c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470. This value appears in Ethereum as the code hash of accounts with no code.

A function selector. Keccak-256 of transfer(address,uint256) is a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b. Its first four bytes, a9059cbb, are the selector at the start of every ERC-20 token transfer.

Limits and tips

  • Write function signatures with no spaces and canonical types (uint256, not uint), or the selector will be wrong.
  • Text is hashed as UTF-8. For a hex string that represents bytes, such as an address, switch Input is to Hex bytes.

Frequently asked questions

Is Keccak-256 the same as SHA3-256?
No. They share the same internal permutation but add different padding bits before hashing, so every output differs. Ethereum and Solidity's keccak256 use the original Keccak; Python's hashlib.sha3_256 and OpenSSL's SHA3-256 use FIPS 202.
Is SHA-3 more secure than SHA-256?
Both are considered secure. SHA-3 was chosen as a backup with a completely different design, so a future break of SHA-2 would not affect it. SHA-3 also resists length-extension attacks without needing HMAC, although HMAC with SHA-3 is still fine.
Can I use SHA-3 for passwords?
Not on its own. Any fast hash lets attackers test guesses quickly. Use PBKDF2, bcrypt or Argon2 with a salt instead.
Does this tool support SHAKE128 or SHAKE256?
No. It offers the four fixed-length SHA-3 functions and the four matching Keccak functions. SHAKE, the variable-length output part of FIPS 202, is not included, and there is no HMAC key field on this page.

Sources

  1. FIPS 202, SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions — NIST, accessed 2026-10-07

Written by the ToolsRift team · Last updated

Pages are drafted with AI assistance and checked by automated tests. How we write and check pages.

Was this tool useful?

Report a problem

Start typing to search every tool.

↑ ↓ to moveEnter to openEsc to close