Ethereum Calldata Decoder
Raw calldata → function/error + arguments, matched locally against known signatures
Raw calldata (hex)
Selector matching runs against a built-in dictionary of 51 common signatures — ERC-20/721, permit, routers, standard custom errors, and events. Nothing is uploaded.
About the Calldata Decoder
Every Ethereum transaction that calls a contract starts with calldata: a 4-byte function selector followed by ABI-encoded arguments. Reading raw hex by hand is impractical — the EVM Calldata Decoder turns it into the function name, argument types, and decoded values, so you can see exactly what a pending transaction will do before signing or replaying it.
The decoder works on plain 0x-prefixed input data from Etherscan, wallets, or logs. Decoding runs entirely in your browser with no RPC call needed for the ABI step, and unknown selectors are hashed locally so nothing about the transaction you are inspecting leaks anywhere.
How to use
- Paste the transaction input data (0x…) into the decoder.
- Optionally paste a known ABI for named outputs.
- Read the function signature and each decoded argument.
- Verify calls before signing, or reverse-engineer a contract you are auditing.
Frequently Asked Questions
What is calldata in an Ethereum transaction? ▾
It is the input data field: a 4-byte function selector (keccak256 of the signature) followed by ABI-encoded arguments. This decoder turns that hex into the function name and each argument value.
Why decode calldata before approving a transaction? ▾
Wallets show raw hex at worst and summaries at best. Decoding reveals exactly which function runs and with which values — the difference between approving a swap and approving an unlimited allowance to a drainer.
Does decoding require an RPC connection? ▾
No — decoding is local. Paste the data from Etherscan, your wallet preview, or a log; nothing is queried or transmitted.