ABI Encoder & Decoder
Encode and decode Ethereum ABI calldata for smart contract interactions.
ABI Encoder / Decoder
Encode Solidity function parameters into ABI calldata for contract interactions, or decode calldata back.
0xa9059cbb000000000000000000000000742d35cc6634c0532925a3b844bc454e4438f44e0000000000000000000000000000000000000000000000000de0b6b3a7640000Selector: 0xa9059cbb
Supported types: uint256, uint128, uint64, uint32, uint8, int256, int128, int64, int32, int8, address, bool, string, bytes, bytes32
Dynamic types (string, bytes) use head/tail ABI encoding with offsets.
What is ABI encoding?
The Ethereum Application Binary Interface (ABI) defines how function calls and their arguments are encoded into calldata — the raw bytes sent with a transaction to a smart contract. Every call starts with a 4-byte function selector (derived from the function signature's Keccak-256 hash), followed by each argument padded to 32 bytes.
Decoding reverses the process: given raw calldata and the expected parameter types, it recovers the typed values. This is essential for debugging failed transactions, verifying what a contract call will do, or building raw transactions without a full SDK.
Features
- Encode function calls into ABI calldata
- Decode raw calldata back into typed arguments
- Supports uint, int, address, bool, bytes, string, and array types
- Shows the 4-byte selector separately from encoded arguments
- Runs entirely in the browser — calldata never leaves your machine
When to use it
Use it when inspecting calldata on a block explorer, hand-crafting a contract interaction for a multisig or governance proposal, testing edge-case inputs against a contract, or double-checking what a dApp frontend is actually about to submit.
