Decompile EVM Bytecode
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
Decompile EVM Bytecode enables you to convert Ethereum Virtual Machine (EVM) bytecode into human-readable opcode instructions. EVM bytecode is the low-level machine code executed by the Ethereum Virtual Machine, typically generated by compiling Solidity or other high-level languages. This tool takes raw bytecode (hex or binary format) and decompiles it into a readable sequence of opcodes with addresses and operands. This is essential for developers, auditors, and security researchers who need to understand smart contract behavior, analyze contract logic, debug transaction failures, or perform security audits. The tool provides a clear listing of all instructions with their memory addresses, making it easy to trace execution flow and identify potential vulnerabilities.
HOW TO USE
Connect your wallet using the BGWallet connector (required for context). Select the bytecode format: "Hex" for standard hex strings (with or without 0x prefix) or "Binary" for raw binary bytecode. Enter the EVM bytecode in the text area—for hex format, paste a hex string (e.g., "0x6080604052..."). Click "Decompile Bytecode" to generate the opcode listing. The tool displays the bytecode length, instruction count, and a full list of opcodes with addresses and operands. You can copy the decompiled output to your clipboard for further analysis. The tool provides real-time validation and error handling for invalid bytecode.
TECHNICAL MECHANISM
This tool implements EVM bytecode decompilation by parsing the bytecode and mapping opcodes to their human-readable names. The decompilation process: (1) the bytecode is converted to a byte array; (2) each byte is read sequentially; (3) the opcode is looked up in a mapping table containing all EVM opcodes (STOP, ADD, MUL, PUSH, DUP, SWAP, LOG, CALL, etc.); (4) for PUSH instructions (PUSH1-PUSH32), the operand bytes are extracted and displayed; (5) the instruction address and opcode name are formatted and added to the output list. The tool supports all standard EVM opcodes including the latest additions (CHAINID, SELFBALANCE, BASEFEE, etc.). The decompilation is performed locally in the browser with no data sent to external servers.
WHAT IT CANNOT SEE
This tool cannot verify that the decompiled output accurately represents the original source code—it only provides opcode-level representation. It does not support all EVM opcodes or custom compiler optimizations; some compiler-specific patterns may not be accurately represented. The tool cannot handle bytecode that is incomplete or malformed; invalid bytecode may cause errors. It does not support decompilation of obfuscated or minified bytecode; optimization can make the code difficult to interpret. The tool cannot recover high-level language constructs or variable names; it only shows opcodes and operands. It does not support cross-contract decompilation or linked libraries; only the provided bytecode is decompiled. The tool cannot guarantee that the decompiled output is executable or correct; it is for analysis purposes only.
PLEASE NOTE
This tool is designed for developers and security researchers working with EVM bytecode analysis. EVM bytecode is generated by compiling Solidity, Vyper, or other smart contract languages. The tool supports all standard EVM opcodes and provides instruction addresses for easy reference. The decompiled output is useful for debugging, auditing, and understanding contract behavior. The tool is read-only and does not require any on-chain interactions. Always verify the decompiled output against the original contract source code when possible. The tool is intended for testing, development, and security analysis purposes.