Tiny Online Tools logoTiny Online ToolssearchSearch tools…grid_viewAll Tools
Homechevron_rightReverse Engineering Toolschevron_rightWASM DemanglerWASM Demangler

WASM Demangler

Demangle Rust and C++ symbol names found in a WebAssembly binary, one at a time or in bulk across a whole file.

edit_noteSingle symbolupload_fileScan a .wasm filePaste a mangled symbolupload_file

Click to browse or drag & drop files here

Drop a .wasm file to scan for symbols

Accepted: .wasm

Similar Tools

WASM Binary Explorer

WASM Binary Explorer

Browse a WebAssembly module's sections, functions, imports, exports, memories, tables and globals with exact byte offsets and sizes.

WASM Import/Export Visualizer

WASM Import/Export Visualizer

See what a WebAssembly module needs from its host and what it offers back, grouped by module namespace, side by side.

WASM Decompiler

WASM Decompiler

Turn a WebAssembly binary into readable WAT text, with a per-function call graph, control-flow shape, and a best-effort toolchain guess.

WASM Size Analyzer

WASM Size Analyzer

Find out which functions and data segments dominate a WebAssembly module's size, with an exact sorted breakdown and a visual treemap.

CAD File Converter

CAD File Converter

Convert STEP, IGES and BREP CAD files to STL, OBJ, GLB or PLY with adjustable tessellation quality.

Webpack Bundle Inspector

Webpack Bundle Inspector

Detects webpack's runtime bootstrap, module map and chunk-push metadata by AST shape, shows each module's real source, and says plainly when a file is not webpack output.

Video Metadata Viewer

Video Metadata Viewer

View video duration, resolution, bitrate, and MIME type for any video file. Fully private, runs in your browser.

apps

More Tools

Browse our full collection of free online tools.

Compiled Rust and C++ symbol names are mangled — encoded into a compact ASCII form that packs in namespaces, generic arguments and function signatures. _ZN4core3fmt5Write9write_fmt17h... is not meant for a human to read, but the information in it is: which crate, which module, which function. The WASM Demangler unpacks that, entirely in your browser.

Two ways to use it:

  • Single symbol — paste one mangled name and see it demangled instantly as you type. Supports Itanium C++ (_Z…), Rust's legacy Itanium-based mangling (_ZN…17h[hash]), and Rust's newer v0 scheme (_R…).
  • Bulk scan — upload a .wasm file and the tool extracts every function name from the module's debug "name" section plus every export name, then demangles all of them at once into a searchable table you can copy from or export as CSV.

A word on honesty, because it matters here: Itanium C++ demangling covers the common subset of the ABI (nested names, templates, substitutions, operators) and is checked against c++filt on real-world symbols. Rust's legacy scheme rides on top of Itanium and is equally solid. Rust's v0 scheme is considerably more complex — this tool reconstructs the path (crate, module, function names) on a best-effort basis, but does not reconstruct the full generic-argument list or impl/trait structure, and back-references and punycode-encoded identifiers are left undecoded. Every v0 result that involves this simplification is marked "partial" and comes with a note explaining exactly what's missing — never presented as a complete demangle. A symbol that matches no known mangling scheme is shown as-is, clearly marked unrecognized, not silently dropped.

Useful when auditing a third-party .wasm module, understanding a crash stack trace, or just exploring what a compiled Rust or C++ binary actually contains.