Every WebAssembly module has a boundary: things it imports from its host environment, and things it exports back for the host to call. That boundary is where the interesting questions live — what does this module actually need to run, and what does it expose? The WASM Import/Export Visualizer lays that boundary out clearly, entirely in your browser.
Drop in a .wasm file and the tool parses its import and export sections with the same byte-accurate parser used across our WebAssembly tools, then:
- Groups imports by module namespace (
env,wasi_snapshot_preview1, a JS glue namespace, and so on), resolving each imported function's real parameter/result signature from the module's type section. - Groups exports by kind (function, memory, table, global), resolving function-export signatures the same way, correctly accounting for the fact that imported functions occupy the lowest function indices.
- Shows both side by side, imports on the left and exports on the right, so you can see the whole host/module contract at a glance.
Where the import namespace and field names give a real, checkable signal, the tool adds a modest, evidence-based note — for example recognizing wasi_snapshot_preview1 as likely a WASI-targeted build, or a cluster of emscripten_*/__cxa_* imports as likely Emscripten's C/C++ runtime glue. These notes always show the actual matching import names that produced them and are phrased as "likely", never as certainty — this tool reads real binary data, it doesn't guess at what it can't see.
Use it to understand what a third-party .wasm file actually depends on before running it, to compare the host surface of two builds, to spot an unexpectedly large import surface, or simply to learn how a WebAssembly module talks to its environment.
Tiny Online Tools







