Keccak-256 Hash Calculator
Compute the Keccak-256 hash Ethereum uses, from text or hex. You also get the SHA3-256 hash and the 4-byte function selector.
0xa9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b0xa9059cbb0x4b40e901eada9ab2d6dfa2a4e5f5088af21b56bb877126cc83f68849c4aa9609Keccak-256 in Ethereum
Keccak-256 is the hash function at the heart of Ethereum. It derives event topics, function selectors, storage slots and the addresses of contracts. When you see a 32-byte hash in a log or an ABI, it almost always came from Keccak-256.
A common gotcha: Ethereum's Keccak-256 is not identical to NIST SHA3-256. They differ in a padding constant, so a SHA3-256 library will give the wrong answer for Ethereum work. This tool shows both side by side so you can confirm which one you need.
Frequently asked questions
Is Keccak-256 the same as SHA3-256?
No. Ethereum uses the original Keccak submission, which differs from the finalized NIST SHA3-256 standard by one padding byte. The hashes are different, so this tool shows both.
How do I get a function selector?
Hash the canonical function signature, for example transfer(address,uint256), and take the first 4 bytes. This tool shows that selector below the full hash.
Text or hex input, which should I use?
Use text to hash a string such as a function signature. Use hex to hash raw bytes, for example packed ABI data, where the input is already a 0x hex string.
Does the hashing happen on a server?
No. Hashing runs locally in your browser with the js-sha3 library. Your input never leaves the page.
Building on Ethereum?
Run your code on the node itself. No rate limits, no compute units, flat rate, sub-10ms RPC.