Logo

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.

address
uint256
0xa9059cbb000000000000000000000000742d35cc6634c0532925a3b844bc454e4438f44e0000000000000000000000000000000000000000000000000de0b6b3a7640000

Selector: 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.

Privacy & Cookie Preferences

We use cookies to enhance your experience, analyze site performance, and support our marketing efforts. Your privacy matters, and you can withdraw consent at any time.