BuonaLabs

Concept

EVM Disassembler vs Decompiler

An EVM disassembler converts bytecode into a linear listing of opcodes and operands — the ground truth of what the chain executes. A decompiler goes further, reconstructing control flow and Solidity-like functions. Both views matter; they answer different questions.

When to use disassembly

  • Verify exact instructions for gas-sensitive or unconventional patterns
  • Debug compiler output or hand-written assembly (Yul)
  • Confirm specific opcodes exist (e.g. SELFDESTruct, DELEGATECALL)
  • Cross-reference decompiler output against raw execution paths

When to use decompilation

  • Quickly understand overall contract purpose and public functions
  • Share readable output with non-assembly experts
  • Map storage layout and external call patterns at scale
  • Prepare ABI recovery and selector databases

Try it now

Open the free EVM decompiler — paste an address or bytecode and get results in seconds.

Related: Bytecode Decompiler · Control Flow Graph Analysis · What Is EVM Bytecode?