Keccak-256 Hash Generator

Compute the Ethereum-style Keccak-256 digest

Ad placeholder (leaderboard)

What this Keccak-256 generator does

This tool computes the original Keccak-256 hash of any text, returning a 256-bit value as 64 hexadecimal characters. This is the exact function used across Ethereum — by Solidity’s keccak256, the EVM SHA3 opcode, address derivation, and ABI function selectors — and it differs from NIST’s SHA3-256.

How it works

Keccak-256 uses the same Keccak sponge and Keccak-f[1600] permutation as SHA3-256, with a 1088-bit rate (136 bytes) and 512-bit capacity. The only difference from FIPS 202 SHA3-256 is the padding: Keccak appends the byte 0x01 as the domain-separation suffix, then zero-pads and ORs 0x80 into the final byte. The message is absorbed block-by-block with 24 rounds of theta, rho, pi, chi, and iota each, and the first 256 bits are squeezed out. To produce a function selector, take the first 4 bytes (8 hex characters) of the Keccak-256 of a signature like transfer(address,uint256). This runs entirely in browser JavaScript with BigInt lane arithmetic.

Tips and notes

  • The single byte difference in padding (0x01 vs 0x06) is the only thing separating Keccak-256 from SHA3-256.
  • Example: the empty string hashes to c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470.
  • Solidity selector example: keccak256("transfer(address,uint256)") begins with a9059cbb, the well-known ERC-20 transfer selector.
  • A single changed byte completely changes the digest.
Ad placeholder (rectangle)