›

Event Signature Generator

Event Signature (topic0) Hash Generator

Compute the topic0 hash for any EVM event. Paste Transfer(address,address,uint256) or a full Solidity event and get the keccak256 hash used to filter logs.

›

Event Signature Generator

Event Signature (topic0) Hash Generator

Compute the topic0 hash for any EVM event. Paste Transfer(address,address,uint256) or a full Solidity event and get the keccak256 hash used to filter logs.

What is an event signature hash (topic0)?

An event signature hash, or topic0, is the keccak256 hash of an event’s name and parameter types, such as Transfer(address,address,uint256). The Solidity ABI specification defines it as the first topic of a non-anonymous event’s logs. This free generator builds the canonical signature from what you paste and returns the hash. It runs in your browser.

Last updated: October 2026. Free tool by Formo, the analytics platform for onchain apps.

Filter logs by event

Get the topic0 value to pass as the first topic in an eth_getLogs request or in an indexer filter.

Verify event hashes

Check that the hash in your code, subgraph, or pipeline matches the event you mean to track.

Normalize signatures

Turn a full Solidity event, with names and indexed flags, into the canonical form that gets hashed.

How to use the event signature generator

An event’s topic0 is the keccak256 hash of its canonical signature: the event name followed by the parameter types in parentheses, with no spaces and no parameter names. This tool builds that signature from what you paste and hashes it, so you do not need to format it by hand.

1. Paste an event signature

Use the short form, such as Transfer(address,address,uint256), or the full Solidity form with parameter names and indexed flags.

2. Read the canonical signature

Aliases such as uint become uint256, and tuples expand to their component types. This canonical text is exactly what gets hashed.

3. Copy the topic0 hash

The 32-byte keccak256 hash is the first topic of every log the event emits. Names and the indexed keyword do not change it.

4. Use it to filter and decode logs

Pass topic0 as the first topic in eth_getLogs, an indexer filter, or a contract event config to read only the events you need.

Event signature FAQs

Answers to common questions about topic0, keccak256, and Ethereum event logs.

What is topic0 in an Ethereum event log?

How is the event signature hash calculated?

Why does my hash not match the one on a block explorer?

What is the difference between topic0 and a function selector?

How do I filter logs by event?

How do I get topic0 in code?

How does event decoding help analytics teams?

What is Formo?

Event signature FAQs

Answers to common questions about topic0, keccak256, and Ethereum event logs.

What is topic0 in an Ethereum event log?

How is the event signature hash calculated?

Why does my hash not match the one on a block explorer?

What is the difference between topic0 and a function selector?

How do I filter logs by event?

How do I get topic0 in code?

How does event decoding help analytics teams?

What is Formo?

Event signature FAQs

Answers to common questions about topic0, keccak256, and Ethereum event logs.

What is topic0 in an Ethereum event log?

How is the event signature hash calculated?

Why does my hash not match the one on a block explorer?

What is the difference between topic0 and a function selector?

How do I filter logs by event?

How do I get topic0 in code?

How does event decoding help analytics teams?

What is Formo?

Formo makes analytics simple

Measure what matters and drive growth onchain.

Formo makes analytics simple

Measure what matters and drive growth onchain.

Formo makes analytics simple

Measure what matters and drive growth onchain.