EN
My tools

Keccak-256 Hash Generator (Ethereum)

Compute Ethereum’s Keccak-256 hash of text or hex, get a function selector or event topic from a signature, and check or apply an EIP-55 address checksum.

Keccak-256
0xa9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b
25 bytes hashed
First 4 bytes
0xa9059cbb

This is the original Keccak used by Ethereum and Solidity’s keccak256(). The NIST SHA3-256 standard pads differently and gives other results (for the empty input, a7ffc6f8… instead of c5d24601…).

My tools →
Advertisement

Ethereum and Solidity use Keccak-256 — the original Keccak submission to the SHA-3 competition — for function selectors, event topics, storage slots, address checksums and more. This tool hashes text or hex bytes with it, derives the 4-byte selector and the event topic from a signature such as transfer(address,uint256), and checks or applies the EIP-55 mixed-case checksum of an address. Everything runs in your browser.

How to use this tool

  1. Choose a hash, a signature, or an address.
  2. Paste the text, the hex bytes (0x…), the canonical signature or the address.
  3. Copy the 0x-prefixed result.
  4. For addresses, check that "Valid checksum" appears before sending funds.

Formula

Keccak-256(M) = Keccak[r = 1088, c = 512](M ‖ 0x01 … 0x80), output 256 bits. Selector = first 4 bytes of Keccak-256(signature); event topic = the full hash.

NIST’s SHA3-256 (FIPS 202) is the same sponge but appends 0x06 instead of 0x01, so its outputs differ. EIP-55: hash the lower-case hex address as ASCII and upper-case each letter whose matching hash nibble is 8 or more.

Example

Keccak-256 of the empty string is 0xc5d24601…5d85a470. The signature transfer(address,uint256) hashes to a value starting a9059cbb, the ERC-20 transfer selector, and Transfer(address,address,uint256) gives the topic 0xddf252ad…f523b3ef.

Frequently asked questions

Is Keccak-256 the same as SHA-3?

No. Ethereum adopted Keccak before NIST changed the padding for the final SHA-3 standard. Use this tool for Ethereum; use a SHA-3 tool for FIPS 202.

Why must the signature have no spaces or parameter names?

The selector is the hash of the exact canonical text. "transfer(address to, uint256 amount)" or uint instead of uint256 gives a different, wrong selector, so the page removes spaces and warns about the aliases.

Does a valid checksum mean the address is safe?

It only means the address was not mistyped. It says nothing about who controls it; always confirm the address with the recipient.

Sources

Last updated:

Cite or embed this tool
APA

kakaoCalc. (2026, November 8). Keccak-256 Hash Generator (Ethereum). https://kakao.mobile/tools/keccak-256-hash-generator/

MLA

“Keccak-256 Hash Generator (Ethereum).” kakaoCalc, 8 Nov. 2026, kakao.mobile/tools/keccak-256-hash-generator/.

Paste this code into your page. The widget runs in your visitors' browsers, shows no ads and keeps a link back to this page. Embedding terms

Advertisement