JavaScript Obfuscator
Military-Grade JavaScript Obfuscation & Protection. God Mode Included.
100% Client-Side Processing
Protected code will appear here
Paste your JS on the left and click ObfuscateRun obfuscation to see the analysis
Complete Usage Guide: From Source to Fortress
Paste Your Code
Paste your JavaScript source code into the Monaco editor on the left. The editor supports full syntax highlighting. You can also paste minified code — all formats are accepted.
Choose Protection Level
Select a preset: Stealth for fast, light obfuscation. Balanced for everyday use. Fortress for maximum resistance. God Mode unlocks Time-Bomb and Steganography.
Configure God Mode
Enable the Time-Bomb to set an expiry date — your code will self-destruct after the deadline. Enable Ninja Mode to encode your JS into a PNG image using Canvas-based steganography.
Deploy Protected Code
Copy the obfuscated JS or download the .js file. Use the
HTML Wrap tab to get a ready-to-paste <script>
tag for your HTML pages.
Control Flow Flattening
This technique transforms your logical code structure (if/else, loops, function calls) into a
dispatcher-based state machine. A while loop cycles through states, making it
near-impossible to read the execution order without dynamic analysis. Performance impact: moderate,
especially on large files.
Time-Bomb Logic
The Time-Bomb injects a Date.now() guard at the top of your script. If the current
timestamp exceeds the programmed expiry, the script silently fails, redirects users, or shows an
alert. Ideal for demo licensing, time-limited SaaS embeds, and trial code distribution.
Image Steganography
Our Ninja Mode converts each character of your obfuscated JS string to its UTF-16 char code and
distributes it across the RGB channels of a PNG image's pixels. The code is invisible to the human
eye. The companion decoder script uses canvas.getImageData() to reconstruct and execute
the hidden payload at runtime.
Anti-Debugging Explained
When DevTools or a debugger is detected (via debugger statements and performance
timing tricks), the self-defending wrapper enters an infinite loop or throws a fatal error. This
makes step-through analysis in Chrome DevTools or Node.js inspector impossible without disabling
the protection first.
Domain Locking
A domain whitelist check is injected into the obfuscated wrapper. The code reads
window.location.hostname and compares it against your allowed domains. If accessed
from an unauthorized origin (e.g., someone copies your JS to their site), execution is
immediately halted.
Is Client-Side Obfuscation Safe?
Yes — 100% of processing happens in your browser. Your source code never leaves your device or
touches any server. All obfuscation is performed via the javascript-obfuscator library
(WASM-powered) running entirely in your browser's JavaScript engine.
Initializing secure discussion portal...