EVMTools

Batch Keccak256 Hasher

Hash multiple inputs at once with Keccak256. Get hashes and function selectors for multiple function signatures, storage keys, or arbitrary text.

Input mode:

Use Cases

  • Hash multiple Solidity function signatures to get selectors at once
  • Compute keccak256 for multiple storage keys in one step
  • Generate event topic hashes for filtering Ethereum logs
  • Batch hash inputs for Merkle tree construction or verification

How to Use This Batch Keccak256 Hasher

This free online batch hasher lets you compute Keccak256 hashes for multiple inputs simultaneously. It is ideal for generating function selectors, event topics, and storage keys in bulk.

  1. Enter multiple inputs, one per line. Each line is hashed independently using Keccak256.
  2. View results showing the full 32-byte hash and the 4-byte function selector for each input.
  3. Compare selectors side by side to check for collisions or verify your ABI specifications.
  4. Copy individual results or the entire output table for use in your development workflow.

All hashing runs locally in your browser. No data is transmitted to any server, keeping your contract interfaces private.

Common Use Cases

  • Contract ABI analysis — Paste all function signatures from a contract to generate a complete selector lookup table.
  • Selector collision detection — Check multiple signatures to ensure no two produce the same 4-byte selector, critical for proxy contracts.
  • Event topic generation — Hash multiple event signatures at once to build topic filters for log queries.
  • Storage key computation — Batch-compute storage slot locations for multiple mapping keys or array indices.
  • Whitelist hash generation — Hash multiple addresses or data entries for Merkle tree leaf construction.

Related Tools

Frequently Asked Questions

Why would I need to hash multiple inputs at once?

Batch hashing saves time when working with smart contracts that have many functions or events. Instead of hashing signatures one at a time, you can paste an entire list and get all selectors and hashes instantly. This is useful when building ABI decoders, analyzing contract interfaces, or generating lookup tables.

How do I batch-generate function selectors?

Enter one function signature per line (e.g., 'transfer(address,uint256)') and the tool computes the keccak256 hash and 4-byte selector for each. This is faster than hashing individually and lets you compare selectors side by side to check for collisions or build selector databases.

What is a function selector collision?

A function selector collision occurs when two different function signatures produce the same 4-byte selector. Since selectors are only 4 bytes (2^32 possibilities), collisions are statistically possible. Solidity prevents collisions within a single contract at compile time, but cross-contract collisions can cause issues with proxy patterns and diamond proxies.

Can I batch-hash storage keys for mappings?

Yes. You can enter pre-formatted keccak256 inputs (key concatenated with slot number in hex) one per line to compute multiple storage slot locations at once. This is useful when reading mapping values directly from contract storage using eth_getStorageAt.

What input formats does the batch hasher support?

The batch hasher accepts plain text (UTF-8) inputs, one per line. Each line is independently hashed using Keccak256. For hex inputs, ensure you specify the hex input mode. Empty lines are ignored, making it easy to paste lists with spacing.