Neatbo.

WASM import and export inspector

List a local core WebAssembly module’s import/export descriptors without instantiating it or running its start function.

Browser-local processingInputWASMOutputJSON / CSVUp to 1 MiB per file · File limit: 1
  1. 1Add input
  2. 2Adjust settings
  3. 3Get your result

Tool input and files are processed in this browser without being uploaded.

Your input

Inputs are kept temporarily in this tab when switching tools. Refreshing or closing clears them; large results may need to be regenerated.

⌘ / Ctrl + Enter to run

or drag and drop it here

Files stay on this device. Your originals stay unchanged.

.wasm

Up to 1 MiB per file · File limit: 1

    Options

    Complete the required options first. You can keep the defaults for the rest.

    Preparing the tool…

    Before you start

    Inspect which imports a WASM module declares and which names it exports before wiring it into an application. Module bytes stay in your browser and its code is not executed.

    How to use this tool

    1. Choose a local binary WASM module, or load the explicitly marked demonstration.
    2. Inspect import namespaces, exact names and descriptor kinds; check the visible no-instance result.
    3. Download the report and verify full runtime compatibility separately in your target environment.

    Supported inputs and limits

    One binary .wasm file up to 1 MiB. At most 10,000 combined import/export descriptors. The selected file takes precedence over the optional built-in example. Enable the example explicitly to inspect and download its real module bytes.

    Checks the WebAssembly magic header and core version 1, then uses the current browser engine’s validate/Module APIs. A compile rejection can mean corrupted bytes or unsupported engine features; it does not prove invalidity on every engine.

    Reads descriptor direction, import module/name, export name and kind, including empty/Unicode names. An empty valid module produces zero descriptors. Does not instantiate, call imports, execute a start function, reconstruct signatures or inspect code/data/custom sections.

    Module compilation runs inside the existing tool worker with its watchdog. Preview shows 200 descriptors; JSON/CSV contain all. Spreadsheet protection applies only to CSV. A module may be valid yet lack the imports/exports you expected; no runtime behavior is inferred.

    Worked example

    Example input

    Example options
    {"params": {"useExample": true}}

    Example output

    {
      "scope": "current-engine core module static descriptors only",
      "instantiated": false,
      "imports": [
        {
          "module": "m",
          "name": "f",
          "kind": "function"
        }
      ],
      "exports": [
        {
          "name": "f",
          "kind": "function"
        }
      ]
    }

    When something does not work

    Select the complete binary .wasm file, not a WAT text file. Check byte integrity and target browser feature support when compilation rejects it. Reduce file size or descriptor count; clear the file to run the explicit demonstration.

    Frequently asked questions

    Can a start function or imported function run?

    No. The inspector constructs a Module only and never creates an Instance or calls an import.

    Does a rejected module mean universally invalid WASM?

    No. It may use a feature unsupported by this browser engine, or its bytes may be damaged.

    Does it show function argument types?

    No. The public static descriptors provide names and kinds here; signatures/code are outside this inspector.

    Documentation & further reading

    Related tools