LazyTools

🔒 Every tool runs in your browser — the files and values you enter are never uploaded to any server. How it works

#️⃣ Keccak-256 / SHA-3 Hash & Function Selector

Hash text with Keccak-256 (the hash Ethereum actually uses) or NIST SHA3-256 — shown side by side so you never confuse them — and compute a contract’s 4-byte function selector.

Keccak-256 (Ethereum — pad byte 0x01)

0x1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8

SHA3-256 (NIST FIPS 202 — pad byte 0x06)

0x3338be694f50c5f338814986cdf0686453a888b84f424d792af4b9202398f392

⚠ These differ! Ethereum uses Keccak-256 (the original submission), which is not the same as the finalised NIST SHA3-256 — they use a different padding byte and produce different hashes. Most tools blur this; pick the right one for your use.

Rate this tool:
Anonymous — no account, no identifier

How the keccak-256 / sha-3 hash & function selector works

Ethereum uses Keccak-256, the original Keccak submission, which is NOT the same as the finalised NIST SHA3-256 standard — they use a different internal padding byte and produce different digests for the same input. This tool computes both and labels each, so you use the right one. The function-selector mode takes a canonical function signature like transfer(address,uint256) and returns the first 4 bytes of its Keccak-256 hash — the selector that prefixes calldata.

The exactness wedge: most “SHA-3” tools quietly give you one or the other. This shows both, correctly labelled. It is a hashing/dev utility — no keys, no funds, no financial advice.

Frequently asked questions

Is Keccak-256 the same as SHA3-256?

No — and this is a common, costly confusion. Ethereum uses Keccak-256 (the original submission, padding byte 0x01). NIST later standardised SHA3-256 with a different padding byte (0x06), so the two produce different hashes for the same input. This tool shows both, labelled.

What does Ethereum use?

Keccak-256 — for address checksums (EIP-55), function selectors, event topics, storage slots and more. When Solidity code calls keccak256(), it means the Keccak variant, not NIST SHA3-256.

What is a 4-byte function selector?

The first 4 bytes of the Keccak-256 hash of a function’s canonical signature (e.g. transfer(address,uint256) → 0xa9059cbb). It prefixes the calldata so a contract knows which function to run.

What is a “canonical” signature?

The function name and parameter types with no spaces and no parameter names — transfer(address,uint256), not transfer(address to, uint256 amount). The selector is computed from that canonical form.

Is my input uploaded?

No — hashing runs entirely in your browser.

Related developer tools