Documentation

JavaScript Obfuscator docs

Reference guides for command-line usage, protection options, cross-file workflows, and the desktop app.

Inside The Docs

Practical guides, not placeholder pages.

How-to guides Start with command-line usage, then move into feature-specific references.
Advanced protection Browse cross-file obfuscation topics like Replace Globals and Protect Members.

Name Mangling

  • ReplaceNames
  • Free

Name Mangling is the base obfuscation option. It replaces local identifiers such as variables, arguments, and local functions with shorter generated names.

What it covers

By default, this option focuses on local identifiers. It is designed to make the transformed code much harder to read without changing the public surface of the file. If you also need to rename globals or shared members, move into the cross-file features such as Replace Globals and Protect Members.

Output styles

JavaScript Obfuscator supports multiple generated naming styles. Two examples from the original documentation are shown below.

Compact hexadecimal-style names:

if (_0x1EBFF[_$_51d7[103]](_0x1D60F, _$_51d7[160])) {
    var _0x1D6E7 = _0x1D60F[_$_51d7[222]][_$_51d7[169]];
}

Short alphabetic-style names:

if (ed[_$_3485[103]](b, _$_3485[160])) {
    var k = b[_$_3485[222]][_$_3485[169]];
}
Start here: if you are new to the product, Name Mangling is usually the first option to enable before layering on deeper structural transformations.