ABI Decoder/Encoder: Read Any Calldata, Build Any Function Call, Right in Your Browser

Search for a command to run...

No comments yet. Be the first to comment.
Most watermark tools show you a gray box and hope for the best. This one shows you the actual page. Upload a PDF and the tool renders the real first page with PDF.js — the same engine behind Firefox's

Your resume's first reader probably isn't human Most job applications today don't go to a person first. They go into an Applicant Tracking System, which extracts the text from your PDF, tries to slot

One saved list of wallets. Four chains, checked on demand. Add a wallet address once — an ETH address, a label, done. It's saved to your browser's local storage, and it stays chain-agnostic: switch th

Most invoice generators assume you're either a freelancer doing one job, or an agency running dozens of clients. Rarely both. So this tool has two modes on the exact same data. Simple mode is a single

SolveBar Blog — Free Privacy-First Browser Tools
8 posts
Paste any calldata — a transfer, an approve, a DEX swap — and pick or type the function signature you think it matches. The tool computes the real function selector from that signature with keccak256 and checks it against the first 4 bytes of your calldata live, as you type. Get it right and you see a green match badge with the selector; get it wrong and you know immediately, before wasting time decoding against the wrong ABI.
Decoding isn't limited to a handful of simple types. address[] arrays, nested tuples written as (type1,type2), strings, bytes — anything Solidity's ABI encoding supports, this decodes, each parameter shown as its own row with an index, a type badge, the decoded value, and a one-click copy button.

Switch to Encode mode and the same signature input now drives a form: one input per parameter, type-aware — a plain text box for most types, comma-separated values for arrays, JSON-array syntax for tuples. Fill them in and it builds the exact calldata a wallet or script would need to send, with the selector prepended automatically.
This closes the loop that most ABI tools leave open: you can decode a transaction you're inspecting, tweak a value, and re-encode it into calldata to actually send — without ever touching a second tool or writing a script.

Decoding and encoding both happen client-side using ethers.js. Your contract addresses, calldata, and parameter values never leave the page — there's no server round-trip, no logging, no rate limit. Paste calldata from a block explorer, a failed transaction, or a contract you're auditing, and read it privately.
A few examples are built in to get started fast: a plain ERC-20 transfer, an approve, and a Uniswap-style swapExactTokensForTokens call that exercises the address[] array path — decode any of them instantly to see the tool handle both simple and dynamic types correctly.