Files
All processing is client-side. Your code never leaves this page.
Presets
Presets update the options below. You can fine-tune after applying.
Code
Options
Compact
Simplify
Rename Globals
Numbers to Expressions
Transform Object Keys
Unicode Escape Sequence
Control Flow Flattening
CFF threshold
Dead Code Injection
DCI threshold
Self-Defending
Use String Array
String Array Threshold
Rotate String Array
Shuffle String Array
Index Shift
Calls Transform
Calls Transform Threshold
Wrappers Count (1–5)
Wrappers Chained Calls
Debug Protection
Disable console output
Split Strings
Split Length (2-50)
Generate Source Map
Tip: if output breaks, step down from Extreme → Strong → Safe, or
disable Control Flow / Dead Code.
About this tool
This **JavaScript obfuscator** transforms your code into an unreadable format. It makes it difficult for others to understand, copy, or reverse-engineer, helping to protect your intellectual property. The obfuscated code still works perfectly in the browser but is much harder to read. All processing happens entirely in your browser with fine-grained options, plus a built-in beautifier for readability tasks.
How to use
- Paste or enter your JavaScript. Copy and paste your JavaScript code into the input box.
- Click to obfuscate. The tool will instantly transform your code into a hard-to-read format.
- Copy the result. Copy the obfuscated code to use in your projects.
Example
Input
const message = "Hello, World!"; console.log(message);
Output
var _0x5a18=['log','Hello, World!'];
(function(_0x2d1f88,_0x133e8a){
var _0x539527=function(_0x12c49c){
while(--_0x12c49c){
_0x2d1f88['push'](_0x2d1f88['shift']());}};
_0x539527(++_0x133e8a);
}(_0x5a18,0x103));
const message=_0x5a18[1];
console[_0x5a18[0]](message);