ReCaseText

ABI Encoder/Decoder

Encode and decode Ethereum ABI data

About ABI Encoder/Decoder

The Application Binary Interface (ABI) is Ethereum's standard for encoding function calls and data passed to and from smart contracts. When you call a smart contract function, the arguments are ABI-encoded into a hex string that the Ethereum Virtual Machine can parse. Likewise, return values and event log data are ABI-encoded and need to be decoded to be human-readable.

This tool provides basic ABI encoding and decoding. For encoding, provide an array of Solidity types and corresponding values; the tool produces the ABI-encoded hex output. For decoding, provide the ABI-encoded hex data and the expected types to see the decoded values. It supports common types like address, uint256, bool, bytes32, and string.

Common use cases

Developers use ABI encoding to construct calldata for raw transactions, debug smart contract interactions, verify event log data in block explorers, and test contract interfaces without deploying. It is also useful for building multicall payloads and verifying that front-end encoding matches expected contract inputs.

Frequently asked questions

What types are supported?

Common Solidity types: address, uint256, uint8, int256, bool, bytes32, bytes, string, and arrays of these types.

How do I format the input?

For encoding, provide types on the first line as a JSON array and values on the second line as a JSON array. For decoding, provide the hex data and the expected types.

Does this include the function selector?

No. This encodes/decodes the arguments only. Use the Keccak-256 tool to compute the 4-byte function selector and prepend it manually.