Getting Started
Obfuscate a small working example, check its result, then apply the same workflow to your own code.
Watch
Obfuscator.io Dashboard Tour: Virtual Machine JavaScript Obfuscation in Under 3 Minutes
Sign in (a free account is enough for VM Low) and open the dashboard.
Paste the example below or upload compiled JavaScript. Compile TypeScript and JSX before obfuscation.
Choose the VM Low preset for an initial VM evaluation, or Default for basic obfuscation. Set Target to the environment that will execute the result.
Select Obfuscate (or Obfuscate with VM when VM is on). Review any build warnings before using the output.
Run the result in the intended environment. This example should print 42. For agents, automation, or debuggers, follow Testing and CI before enabling runtime defenses.
Copy or download the verified output. Before deployment, generate and validate the final build with the protection settings you intend to ship.
Need help?
If the obfuscated code fails at runtime, start with Diagnosing VM Runtime Errors, which also lists what to include in a bug report for support@obfuscator.io.
In this section
Choosing Presets
Presets are starting configurations. Choose a preset, then review the effective options for your selected obfuscator version.
Version Pinning
Pin an exact obfuscator version or an auto-updating range, and enforce a version across your team.
Using the NPM Package
Apply VM obfuscation from your build pipeline via the javascript-obfuscator package.
Testing and CI
Use a separate configuration for functional tests when your test tools would trigger runtime defenses. There is no separate testing endpoint or dashboard environment.
FAQ
Answers about obfuscation, compatibility, privacy, and subscriptions.
