multichain
/index/ /tools/ /23 calldata-decoder
live

Calldata
decoder.

Selectors
40+
computed locally via keccak
Custom
Any
paste a signature to decode
Network
None
zero requests
Auth
None
no wallet, no signup
/23CALLDATA DECODER
awaiting input

/faq

01

What is a function selector?

The first 4 bytes of calldata: the keccak-256 hash of the function signature, truncated. 0xa9059cbb is keccak("transfer(address,uint256)") cut to 4 bytes, which is why the same selector appears in every ERC-20 transfer ever made.

02

Why does my selector come up unknown?

This page ships a local table of the most common signatures and computes their selectors in your browser. Anything else needs the signature text: paste it into the signature field and the decoder verifies it hashes to your selector before decoding. Public databases like 4byte.directory index millions of signatures.

03

Can it decode tuple (struct) arguments?

Recognized functions with tuple parameters are labeled, and the raw 32-byte words are shown with offsets so you can read them manually. Flat types (addresses, integers, bools, bytes, strings, and arrays of them) decode fully.

04

Is anything sent to a server?

No. Selector hashing and argument decoding run entirely in your browser. Calldata often contains addresses and amounts you may not want to share, so this tool deliberately makes no network requests.