Skip to main content
Loading …
AS Albert Schaper
  • 01Home
  • 02About
  • 03Expertise
  • 04Projects
  • 05Contact
  • 06Insights
  • 07Tools
AS

Albert Schaper

01Home 02About 03Expertise 04Projects 05Contact 06Insights 07Tools

AI · Finance · Entrepreneur

Home / Tools / ABI Decoder
Web3 Lab · T.12

ABI Decoder

What's hiding behind this calldata? Paste an ABI or signature, decode the function and parameters — entirely in your browser.

All tools Transaction Decoder Address Validator Guide: What is a nonce?

This decoder needs JavaScript (runs locally in your browser).

Example:

Note: the decoder only recognizes functions present in the ABI you pasted — it can't "guess" unknown calldata. Example uses a made-up address, no real funds.

Knowledge · ABI encoding

How ABI decoding works

Every Ethereum function call starts with a 4-byte selector — the first 4 bytes of the Keccak-256 hash of the function signature (e.g. transfer(address,uint256)). The selector tells the contract which function is meant; everything after that is the ABI-encoded parameters, in 32-byte words.

Static types (address, uint256, bool) sit directly in those words. Dynamic types (string, bytes, arrays) instead contain an offset pointing to the actual data further back in the calldata — which is why decoding needs the right types, not just the raw bytes.

This tool uses the same vetted library (ethers.js) that powers the Message Verifier: paste the ABI, paste the calldata, and the selector is automatically matched against every function in the ABI.

FAQ

Frequently asked questions

What is a selector?
The first 4 bytes of the calldata — a fingerprint of the called function, computed from the Keccak-256 hash of its signature. The decoder uses it to find the matching function in the ABI you pasted.
What if no function matches?
Then the ABI doesn't contain the function this calldata belongs to — or the calldata is corrupted. Double-check the selector against the ABI.
Can I paste a full ABI JSON?
Yes — a complete ABI JSON array works the same as individual signatures. For multiple signatures without JSON: one per line.
Does my input leave the browser?
No. Everything runs locally. As a convenience, input can be shared via deep link (?abi=…&data=…) — only actively sharing that link leaves the browser.

Calldata decoded — what about the rest of the transaction?

The ABI Decoder explains the function parameters. For nonce, gas and recipient of the full transaction: the Transaction Decoder.

Go to Transaction Decoder Go to Address Validator
AS

AI · Finance · Entrepreneur

Navigation

Home About Expertise Projects Contact Insights Tools

Tools

Wallet Generator Transaction Decoder ABI Decoder Message Verifier

© Albert Schaper. All rights reserved.

Privacy / Imprint