Var Name Mangler obfuscates variable, function, and class names in JavaScript, TypeScript, and Python source. It supports hex, phonetic, random, incremental, and themed Devcore strategies with cyberpunk, noir, vaporwave, and glitch vocabularies. Scope-aware AST mangling targets a specific function or class. Reverse mode restores names from a saved mapping.
Var Name Mangler
Obfuscate variable names in JS, TS, and Python with Devcore mode
How to use
- Paste source code — Drop in your JavaScript, TypeScript, or Python source.
- Choose language — javascript, typescript, or python — controls AST parser dialect.
- Pick strategy — hex, phonetic, random, incremental, or devcore (themed vocabulary).
- Configure options — Toggle preserveExports, set scopeTarget for partial mangling, choose Devcore theme.
- Run and copy — Click Run. Copy mangled output and the mapping table for reverse-mode round trips.
MCP / API
Call var_name_mangler directly from any MCP-compatible agent:
// MCP TypeScript SDK
const result = await client.callTool({
name: "var_name_mangler",
arguments: {
"code": "...",
"language": "javascript"
}
});
// curl
curl -X POST https://obfus.link/mcp \
-H "Authorization: Bearer <SPT>" \
-H "Content-Type: application/json" \
-d '{"method":"tools/call","params":{"name":"var_name_mangler","arguments":{"code":"...","language":"javascript"}}}'Related tools
FAQ
What is Devcore mode?
Strategy: "devcore" replaces identifiers with themed vocabulary (cyberpunk: _neon_, _chrome_, _void_; noir: _shadow_, _smoke_; vaporwave: _aesthetic_, _pastel_; glitch: _err_, _corrupt_). Produces obfuscated code that is still culturally legible to humans in the relevant subculture.
What does preserveExports do?
When true, exported identifiers (export const, export function, module.exports.x) are kept with their original names. The internal implementation is mangled but the public API stays intact — useful when consumers depend on specific export names.
Is the output deterministic?
For hex, incremental, and devcore strategies: yes. The same input produces the same mangled output. For phonetic and random: a new mapping is generated each call. Use the mapping output with reverse mode to restore original names.
Can I use this tool via the MCP API?
Yes. The tool is registered on the obfus.link MCP server at https://obfus.link/mcp. Call it from any MCP-compatible agent with a Shared Payment Token. The MCP tool name matches the snake_case slug shown in the integration snippet.