Decode ABI Encoded Data
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
Decode ABI Encoded Data enables you to decode ABI-encoded data from Ethereum transactions and logs. ABI (Application Binary Interface) encoding is the standard format used by Ethereum smart contracts to encode function calls, events, and return data. This tool takes ABI-encoded data (hex string) and an ABI specification (JSON array of function signatures), and decodes the data into human-readable arguments. This is essential for developers, auditors, and users who need to interpret transaction calldata, decode event logs, or verify smart contract interactions. The tool supports all standard Solidity types including address, uint, int, bool, string, bytes, arrays, and structs. It provides clear output showing the function name and decoded arguments.
HOW TO USE
Connect your wallet using the BGWallet connector (required for context). Enter the ABI specification as a JSON array in the text area—this should include the function or event signatures you want to decode (e.g., [{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address"},{"name":"amount","type":"uint256"}]}]). Enter the encoded data as a hex string with a 0x prefix. Select the input format (Hex or JSON). Click "Decode Data" to decode the data. The tool displays the data length, the decoded result with function name and arguments, and a detailed breakdown of the decoded values. You can copy the decoded data to your clipboard for further use.
TECHNICAL MECHANISM
This tool implements ABI decoding using ethers.js's Interface class. The decoding process: (1) the ABI specification is parsed into an Interface object; (2) the encoded data is validated as a hex string; (3) the Interface's parseTransaction or parseLog methods are used to decode the data; (4) if the data matches a known function or event, the arguments are extracted and formatted. For complex types (arrays, structs, nested dynamic data), the tool recursively decodes the data using the ABI's type system. The tool also handles fallback decoding using decodeFunctionData when the function name is not explicitly matched. The decoded arguments are displayed with their types and values. All decoding is performed locally in the browser with no data sent to external servers.
WHAT IT CANNOT SEE
This tool cannot verify that the decoded data corresponds to an actual on-chain transaction or contract call—it only performs decoding. It does not support decoding without the correct ABI specification; the ABI must match the encoded data exactly. The tool cannot handle custom types beyond the standard Solidity types (address, uint, int, bool, string, bytes, arrays, structs). It does not support decoding of nested dynamic arrays or complex structs with incomplete ABI information. The tool cannot verify the correctness of the decoded values without additional context. It does not support decoding of non-EVM data formats. The tool cannot decode data that is not properly padded or formatted according to the ABI specification.
PLEASE NOTE
This tool is designed for developers working with Ethereum smart contracts and ABI encoding. ABI encoding is used for function calls (calldata), event logs, and return data. The ABI specification must be provided as a JSON array matching the contract's interface. The tool supports all standard Solidity types and complex structures. The decoding is performed locally in the browser and is never transmitted to external servers. The tool is read-only and does not require any on-chain interactions. Always verify the decoded results against the original transaction or contract context. The tool is intended for testing, development, and auditing purposes.