Loading...
The obfuscation engine failed to load. Please refresh the page.

JavaScript Obfuscator

Secure your JavaScript code by making it unreadable to humans while remaining fully functional. Protect your logic and prevent reverse engineering.

100% client-side — your code never leaves your browser
Source Code
Obfuscated Output
Input Size
Output Size
Size Ratio
Input Lines
Quick-configure all options at once.
Runtime environment for the obfuscated code.
Extracts and re-injects <?php ?> and <?= ?> tags safely.

Removes whitespace from the output.
Simplifies if/else and ternary expressions.
Transforms numeric literals into expressions.
Renames top-level global identifiers.
Prevents obfuscation of import declarations.
Prevents code formatting and beautification by tools.
Silences console.log to hinder runtime debugging.

Advanced Protection Premium

Triggers an infinite debug loop if DevTools is opened.
Scrambles the logical structure drastically.
Threshold 0.50
Inserts fake code blocks to confuse reverse engineers.
Threshold 0.20
Restricts code execution to specified domains only.
Moves all string literals into a separate encoded array.
0.75

Advanced String Options Premium

Replaces all string characters with \uXXXX unicode escapes.
Splits string literals into chunks of defined length.
Patterns matched against string literals to exclude from encoding.
Prepended to all generated identifier names.
Supports regex patterns like ^myGlobal$. Common globals are always protected.

Advanced Identifier Options Premium

Renames object properties. Use safe mode to avoid breaking built-ins.
When set, the generator uses these names instead of auto-generated ones.

Source Map Generation Premium

Attach a source map for debugging the original code.

Frequently Asked Questions

JavaScript obfuscation is the process of modifying your source code so that it becomes extremely difficult to read and understand by humans, while still executing perfectly in the browser. It helps protect your proprietary logic and API keys.

Generally, no. However, if your code relies on specific variable names at runtime (like dynamic evaluation or specific global scopes), you should add those variables to the "Reserved Names" list so they are not altered.

If you are obfuscating tools within this platform, variables like `_sAuth` and `_lAuth` are used for security handshakes. If they are renamed by the obfuscator, the tool will trigger an "Invalid License" error. Reserving them keeps them intact.