diswasm

WASM analysis workbench
HomeDocsReferenceCompilerRuntimeBenchmarksDisassemblyDecompileEditEasy EditorIntermediateCreateSavedControllerGame StudioAboutLicensesContributorsOpen source

Local-first parsing. No automatic module execution.

self-hosted mode

About diswasm

diswasm is a self-hosted WebAssembly workbench for inspection, education, compilation, and live experimentation. Everything ships statically — there is no server-side WASM execution unless you explicitly opt in.

What you can do

DocumentationStructured guides for WASM, WAT, runtime VMs, browser integration, security, and opcodes.
Instruction referenceSearchable 438-entry instruction and value-type reference with opcode panels.
Compiler playgroundWAT-subset compiler in the browser with decoded opcode stream and binary download.
Runtime labWeb Worker-isolated WASM instantiation, function calls, memory and section inspection.
EditorsBeginner block editor and Intermediate structured editor for building functions visually.
Security baselineServer execution off by default, CSP/COOP/COEP/CORP headers, sandboxed import shims.

Install / manage

Install diswasm as a standalone app for offline access and a dedicated launcher icon.

Uninstall instructions
  • Chrome / Edge desktop: open the installed app, click the three-dot menu, then Uninstall diswasm. Alternatively visit chrome://apps and remove from there.
  • Android: long-press the diswasm launcher icon and select Uninstall.
  • iOS / iPadOS: long-press the home-screen icon and select Remove App.
  • Firefox: Firefox does not currently expose an install API for arbitrary sites; no uninstall step is required.

A site cannot uninstall itself. The buttons above only manage offline cache and trigger the browser-provided install prompt.

Architecture & safety

  • @diswasm/core — framework-free TypeScript parser, writer, disassembler, decompiler, xref resolver, and editor primitives.
  • @diswasm/web — Next.js App Router app: docs, reference, compiler, runtime, editors, benchmarks.
  • Web Worker runtime — user WASM runs in an isolated worker with a watchdog timeout.
  • IndexedDB persistence — saved binaries and editor projects.
  • Service worker — offline shell precache + live update banner.
  • Safety scope — inspection, education, debugging, controlled module editing. Not for exploit payload generation, persistence, evasion, or offensive automation.

Related pages

  • Licenses & attribution
  • Contributors
  • Open source dependencies
  • Reading WebAssembly opcodes