Keccak-256 Hash: Ethereum Smart Contract Hash Online
Keccak-256 hash calculator online: Ethereum's native hashing engine for smart contracts, using original Keccak padding instead of SHA3-256.
Updated 2026-08-16
Related Tools
Keccak-512 Hash: Full Original Keccak Output Online
SHA3-256 Hash Calculator: NIST 3rd Gen Keccak Standard
SHA-256 Hash Calculator: Bitcoin & HTTPS Standard Hash
Adler-32 Checksum: zlib & PNG Fast Integrity Check
Bcrypt Password Hash Generator: Online Hash & Verify Tool
BLAKE2b-256 Hash: Faster Than MD5, Secure as SHA-3
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
- 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
How to Use
- 1Type or paste your text into the input box above.
- 2Your hash digest appears instantly; no page reload needed.
- 3Toggle UPPERCASE / lowercase to change the hex output format.
- 4Click the copy icon to copy the hash to clipboard, or use Save to save as .txt.
- 5Paste an expected hash into the Verify field to check for a match.
- 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.
- 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.
- 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.
- 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.
- 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. (See: Keccak reference (keccak.team))
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.
Why does my Keccak-256 hash always come out 64 characters long?
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). (See: Keccak reference (keccak.team))
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.
Why can't I use a simple XOR checksum instead of Keccak-256?
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.
Why does my keccak 256 hash generator give a different hash than a SHA3-256 tool for the same text?
They are different algorithms. Keccak-256 is the original Keccak submission with the original padding; SHA3-256 is NIST's version with modified padding. Same input, different output; for example, Keccak-256('abc') and SHA3-256('abc') differ. This tool computes the pre-NIST variant used by Ethereum, so always match the tool to your target system.
Why can't I use a keccak 256 hash online tool to store passwords securely?
Keccak-256 is a fast, unkeyed hash: unsalted fast hashes can be brute-forced with GPUs, so they are not safe for password storage. Password hashing needs a deliberately slow, salted algorithm: bcrypt, scrypt, or Argon2. Keccak-256 is for signatures, Merkle trees, and smart-contract data, not password protection.