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.

About JavaScript Obfuscator

Protect your JavaScript source code from reverse engineering and unauthorized copying using our free JavaScript Obfuscator. Transform readable code into a functionally identical but difficult-to-understand version — without changing how it runs in any browser.

What is JavaScript Obfuscation?

JavaScript obfuscation renames variables and functions to meaningless identifiers, encodes string literals, and restructures code logic to make it hard for others to read, copy, or understand your source. The resulting code continues to execute exactly as the original.

Features

  • Rename variables and functions to unreadable hex identifiers
  • Encode string literals using Base64 encoding
  • Apply string array rotation and shuffling for added protection
  • Paste code directly or upload a JS file
  • Download the obfuscated result as a .js file
  • Browser-based processing with no file uploads
  • No registration or software installation required

How Obfuscation Helps Protect Your Code

While no obfuscation is completely unbreakable, obfuscating JavaScript significantly raises the effort required to understand or reuse your code. It discourages casual copying, hides proprietary business logic, and protects algorithms from quick inspection.

Common Use Cases

  • Web Applications: Protect client-side business logic from inspection
  • Games: Prevent cheating by hiding game state and scoring logic
  • Licensing: Obscure license validation and feature-gate code
  • Freelance Work: Protect delivered code from immediate modification
  • Embedded Config: Reduce visibility of API endpoint paths and keys

Reserved Names

If your code contains variable or function names referenced from outside the script — such as global callbacks, framework hooks, or platform-specific identifiers — add them to the Reserved Names list so the obfuscator leaves them unchanged.

Why Use This JavaScript Obfuscator?

Obfuscate JavaScript instantly in your browser without installing tools, creating accounts, or sending your code to external services.

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.

Yes. Both minified and unminified JavaScript can be obfuscated. The obfuscator processes any syntactically valid JavaScript regardless of how it is formatted or compressed beforehand.

Obfuscated code may run marginally slower due to string decoding steps at runtime, but the performance difference is negligible for the vast majority of web applications and use cases.

Add any variable or function names that are referenced from outside your script — including global callbacks, framework hook names, or identifiers used by external libraries — so the obfuscator leaves them unchanged and does not break external references.