Decode transaction calldata into the function name and typed arguments using an ABI or known selectors.
Loading tool
About Input Data Decoder
Decode transaction input data (calldata) into the function name and typed arguments. With a JSON ABI, a Hardhat/Foundry artifact or human-readable signatures the decode is exact; without one, the 4-byte selector is matched against a bundled offline table of common signatures (ERC-20/721/1155, Uniswap, Safe, Multicall and others). It also checks whether the result re-encodes byte-for-byte and can show the raw 32-byte words.
Common uses
- See what a pending or past transaction actually calls before you sign or investigate it
- Decode a multisig or governance proposal payload using the target contract's ABI
- Inspect calldata from a failing test or a wallet request
- Break unknown calldata into 32-byte words when no ABI is available
FAQ
- What is calldata in an Ethereum transaction?
- Calldata is the transaction's input data. For a contract call it starts with a 4-byte function selector, followed by the ABI-encoded arguments in 32-byte words.
- Can I decode calldata without the contract ABI?
- Partly. If the selector is in the bundled table of common signatures, the arguments are decoded but parameter names are unknown. Otherwise paste the ABI, or read the raw words view.
- Does this tool look up selectors on 4byte or other online databases?
- No. Decoding is fully offline and only uses the ABI you paste and the bundled signature table.