Los nombres de símbolos compilados de Rust y C++ están "mangled" (alterados): codificados en una forma ASCII compacta que empaqueta espacios de nombres, argumentos genéricos y firmas de funciones. _ZN4core3fmt5Write9write_fmt17h... no está pensado para que lo lea un humano, pero la información que contiene sí importa: qué crate, qué módulo, qué función. El Desmanglador WASM desempaqueta eso, todo en tu navegador.
Dos formas de usarlo:
- Símbolo único — pega un nombre mangled y velo desmanglado al instante mientras escribes. Soporta C++ Itanium (
_Z…), el esquema heredado de Rust basado en Itanium (_ZN…17h[hash]), y el nuevo esquema v0 de Rust (_R…). - Análisis en lote — sube un archivo
.wasmy la herramienta extrae cada nombre de función de la sección de depuración "name" del módulo más cada nombre de exportación, y los desmangla todos a la vez en una tabla que puedes copiar o exportar como CSV.
Una nota sobre honestidad, porque aquí importa: el desmanglado de C++ Itanium cubre el subconjunto común del ABI (nombres anidados, plantillas, sustituciones, operadores) y se verifica contra c++filt con símbolos reales. El esquema heredado de Rust se apoya en Itanium y es igual de sólido. El esquema v0 de Rust es considerablemente más complejo — esta herramienta reconstruye la ruta (crate, módulo, nombres de función) de forma aproximada, pero no reconstruye la lista completa de argumentos genéricos ni la estructura de impl/trait, y las referencias hacia atrás y los identificadores codificados en punycode quedan sin decodificar. Todo resultado v0 que involucre esta simplificación se marca como "parcial" y viene con una nota que explica exactamente qué falta — nunca se presenta como un desmanglado completo. Un símbolo que no coincide con ningún esquema conocido se muestra tal cual, claramente marcado como no reconocido, no se descarta en silencio.
Útil al auditar un módulo .wasm de terceros, entender un stack trace de un fallo, o simplemente explorar qué contiene realmente un binario compilado de Rust o C++.
Tiny Online Tools







