Encode function calls and decode calldata, return data, and event logs against a contract ABI. Powered by ethers, runs in your browser.
Encode function calls and decode calldata, return data, and event logs against a contract ABI. Powered by ethers, runs in your browser.
Smart-contract interactions are encoded with the Ethereum ABI (Application Binary Interface). Reading raw transaction calldata or event logs by hand is painful - this tool turns them into human-readable function names and arguments, and builds calldata for you. It mirrors the abi-decoder workflow (decode method calls and logs) and adds encoding, using the well-tested ethers ABI coder, all in your browser.
Input:
0xa9059cbb0000… + ERC-20 ABI
Output:
transfer(to = 0x1111…, amount = "1000000000000000000")
What ABI formats are accepted?
Both the standard JSON ABI array and human-readable signatures (one per line, e.g. "function transfer(address,uint256)").
How do I decode an event log?
Use the Decode log tab: paste the event's topics (including topic0, the event signature hash) and the data field. The tool finds the matching event in the ABI and decodes the parameters.
Why are numbers shown as strings?
Ethereum integers can exceed JavaScript's safe number range, so uint/int values are rendered as strings to avoid precision loss.
Does anything leave my browser?
No. All encoding and decoding run locally with the ethers library - no RPC calls and no uploads.