Source Code
Obfuscated Output

How it works

1. Character Mapping

Every character in your code is mapped to a complex JavaScript expression. These expressions use JavaScript’s quirks, like truthy/falsy values, to represent each character in a way that’s hard to immediately recognize.

2. Handling Extra Characters

If your code contains characters not in the mapping dictionary, they are stored in a list and replaced by an obfuscated reference to their position in the list. This ensures that all characters, even uncommon ones, are obfuscated.

3. Convert Code to Unicode Values

Your code is converted into an array of Unicode values for each character. This prepares it for further obfuscation by converting the code into numeric values that can then be transformed into more complex expressions.

4. Obfuscating Numbers

Each numeric value (like a Unicode code point) is further obfuscated, which transforms numbers into convoluted expressions, making them harder to understand at a glance.

5. Building the Final Obfuscated Code

All the obfuscated parts (characters, numbers, references) are then combined into a new string of code. This final code still behaves the same as the original, but it is much harder to interpret without executing it.