Keccak / SHA3 Hasher

Generate Keccak-256, Keccak-512, SHA3-256, SHA3-512 hashes online. Free Ethereum-compatible hash tool for smart contracts and blockchain development.

clearClearpastePaste

What is Keccak / SHA3 Hasher?

Keccak / SHA3 Hasher is a free online tool to generate cryptographic hashes using Keccak and SHA3 algorithms. Keccak-256 is the hash function used by Ethereum for addresses, transaction IDs, and smart contract functions. SHA3 is the NIST standardized version with slight modifications.

This tool supports both text and hexadecimal input, making it perfect for blockchain developers, smart contract auditors, and cryptocurrency enthusiasts.

Available Hash Algorithms

AlgorithmOutput SizeUse Case
Keccak-256256 bits (32 bytes)Ethereum addresses, transaction hashes, function selectors
Keccak-512512 bits (64 bytes)High-security applications, advanced cryptography
SHA3-256256 bits (32 bytes)NIST standard, general cryptographic hashing
SHA3-512512 bits (64 bytes)NIST standard, maximum security hashing

What's the difference between Keccak and SHA3?

Keccak won the SHA3 competition in 2012, but NIST made slight modifications before standardizing it as SHA3 in 2015. Ethereum uses the original Keccak algorithm (pre-NIST), not the standardized SHA3. This means keccak256('') ≠ sha3_256('') despite both being 256-bit hashes. Always use Keccak-256 for Ethereum development.

Why does Ethereum use Keccak-256?

Ethereum chose Keccak-256 before SHA3 was finalized by NIST. It's used for: generating contract addresses from deployer address and nonce, creating transaction IDs, hashing function signatures (first 4 bytes become function selector), and deriving storage slot locations in smart contracts.

When should I use hex input mode?

Use hex input when hashing binary data like bytecode, encoded function calls, or raw transaction data. The tool converts hex strings to byte arrays before hashing. For example, hashing '0x1234' will hash the bytes [0x12, 0x34], not the text characters '0x1234'.

How to verify Ethereum addresses?

To derive an Ethereum address: 1) Take the public key (64 bytes, excluding 0x04 prefix), 2) Hash it with Keccak-256, 3) Take the last 20 bytes (40 hex characters), 4) Add '0x' prefix. The result is the Ethereum address. This tool can compute step 2.

Is this tool safe to use?

Yes! All hashing happens entirely in your browser using the js-sha3 JavaScript library. No data is sent to any server. However, never hash sensitive private keys or secrets in any online tool - always use offline, audited tools for sensitive cryptographic operations.

Common Use Cases

  • Smart Contract Development: Generate function selectors (first 4 bytes of keccak256 hash of function signature)
  • Ethereum Address Verification: Compute Keccak-256 hash of public keys to derive addresses
  • Transaction Analysis: Hash transaction data to verify transaction IDs
  • Event Signature Generation: Create event topic hashes for Ethereum logs
  • Storage Slot Calculation: Determine storage locations in Solidity mappings and arrays
  • Data Integrity: Verify file integrity using SHA3 NIST standard hashes
  • NFT Metadata: Hash metadata to create unique identifiers for NFTs
  • Merkle Tree Construction: Generate leaf and node hashes for Merkle proofs