UFOZoo

Keccak-256 Hash — Ethereum Smart Contract Hash Online

Ethereum's hashing engine — powers smart contract transactions and EIP-191 signatures. Uses original Keccak padding, different from SHA3-256 output.

Features

  • Compute Keccak-256 hashes online — Ethereum's native hashing engine for smart contracts
  • Real-time 256-bit hash computation with 64 hex character output
  • One-click copy, save as .txt, and uppercase/lowercase toggle
  • Produces different output than SHA3-256 due to pre-NIST padding scheme
  • Hash verification against known Keccak-256 checksums
  • 100% browser-based — essential for Ethereum developers and web3 builders
  • Ethereum function selector computation — the first 4 bytes of Keccak-256('transfer(address,uint256)') give the exact method ID used in EVM
  • Real-time input length display — shows character and byte counts alongside the hash for smart contract development
  • Cross-platform browser access — develop and verify hashes on any device without local Ethereum tooling
  • Session history — retains previous hash results during the session for comparing multiple contract signatures

How to Use

  1. 1Type or paste your text into the input box above.
  2. 2Your hash digest appears instantly — no page reload needed.
  3. 3Toggle UPPERCASE / lowercase to change the hex output format.
  4. 4Click the copy icon to copy the hash to clipboard, or use Save to save as .txt.
  5. 5Paste an expected hash into the Verify field to check for a match.
  6. 6How to compute an Ethereum function selector: type a function signature like 'transfer(address,uint256)' and take the first 4 bytes (8 hex chars) of the Keccak-256 hash. This is the method ID used in every Ethereum transaction.
  7. 7How to verify an EIP-191 message signature: hash the prefixed message with Keccak-256, then compare the resulting hash against the expected digest in the signed message format.
  8. 8How to hash data for smart contract storage: when off-chain data needs to match on-chain storage, compute its Keccak-256 hash in this tool and compare it against the contract's stored mapping key.
  9. 9How to generate a Merkle tree leaf hash: for Merkle airdrops or NFT whitelists, hash each address or claim data with Keccak-256 to produce the leaf hashes for the tree.
  10. 10How to check an Ethereum address checksum: paste the address (without 0x) into the input — while the tool gives the full hash, EIP-55 checksums use a variant of Keccak-256 to determine capitalization of hex characters.

Frequently Asked Questions

What is Keccak-256 and how is it different from SHA3-256?

Keccak-256 is the original Keccak algorithm submitted to NIST's SHA-3 competition. SHA3-256 is the NIST-standardized version with a modified padding scheme. This means Keccak-256('abc') and SHA3-256('abc') produce different hashes. Ethereum specifically uses the original Keccak-256, not SHA3-256.

How does Ethereum use Keccak-256?

Ethereum uses Keccak-256 (often mistakenly called 'SHA3' in Solidity) for: (1) computing function selectors from method signatures, (2) hashing in smart contract storage, (3) EIP-191 message signing, and (4) Merkle Patricia tree nodes. Every Ethereum transaction involves Keccak-256.

Why doesn't Ethereum use standard SHA3-256?

Ethereum was designed in 2014, before NIST finalized the SHA-3 standard in 2015. The Ethereum community adopted the original Keccak submission and chose not to break backward compatibility by switching to SHA3-256.

Is Keccak-256 secure despite not being standard SHA3?

Yes. The only difference between Keccak-256 and SHA3-256 is the padding rule — the core Keccak-f permutation is identical. The original Keccak padding is actually simpler and there are no known attacks exploiting this difference.

When should I use Keccak-256 vs SHA3-256?

Use Keccak-256 when working with Ethereum smart contracts, web3 development, or any system that explicitly requires the pre-NIST Keccak variant. Use SHA3-256 for all other purposes, especially when NIST compliance is needed.

What is a function selector and how does Keccak-256 create it?

A function selector is the first 4 bytes (8 hex chars) of the Keccak-256 hash of a function signature. For example, Keccak-256('transfer(address,uint256)') starts with 'a9059cbb' — that 4-byte prefix is the selector used in every ERC-20 transfer transaction.

Can Keccak-256 be reversed?

No. Like all cryptographic hash functions, Keccak-256 is one-way — you cannot reconstruct input from its hash. However, since Ethereum function signatures are known, you can build a lookup table mapping selectors back to signatures.

What is the Keccak-256 output size?

Keccak-256 produces 256-bit (32-byte) hashes displayed as 64 hexadecimal characters. It is part of the Keccak family which can produce any output size (Keccak-224, Keccak-256, Keccak-384, Keccak-512).

Is Keccak-256 used outside Ethereum?

Yes. Keccak-256 is used in other blockchain platforms (some L2s, sidechains), cryptographic protocols with pre-NIST Keccak requirements, and in certain SHA-3 implementations that exposed the original Keccak variant.

How does Keccak-256 relate to the Keccak-f permutation?

Keccak-256 uses the Keccak-f[1600] permutation (1600-bit state) with a specific capacity setting. The permutation is a sponge construction that absorbs input and squeezes output. SHA3-256 uses the exact same permutation with different padding.

What is the difference between Keccak-256 and a simple XOR checksum?

Keccak-256 is a cryptographic hash designed to be collision-resistant and one-way. An XOR checksum can be easily reversed or forged. Keccak-256 requires 2^128 operations to find a collision by brute force.

Can I compute Ethereum address from private key with Keccak-256?

The tool computes the Keccak-256 hash of any text input. In Ethereum, an address is derived by taking the last 20 bytes of the Keccak-256 hash of the public key. You would need to input the uncompressed public key to get the address hash.

Related Tools