# JS-Confuser Docs > JS-Confuser is an open-source JavaScript obfuscator. This obfuscation tool transforms your code into an unreadable, complex representation that is difficult to understand. Here you can learn everything you need to know about JS-Confuser. ## Docs - [Best Practices](https://docs.js-confuser.com/best-practices.md) - [FAQ](https://docs.js-confuser.com/faq.md): Frequently Asked Questions - [Welcome Page](https://docs.js-confuser.com/index.md): Welcome to JS-Confuser! - [Installation](https://docs.js-confuser.com/installation.md): Learn how to install JS-Confuser from NPM - [All Options](https://docs.js-confuser.com/options/all-options.md) - [Pack](https://docs.js-confuser.com/options/pack.md): Packs the output code into a single `Function()` call. Designed to escape strict mode constraints - [Target](https://docs.js-confuser.com/options/target.md): The execution context for your output - [Playground](https://docs.js-confuser.com/playground.md): Try out JS-Confuser in your browser - [All Presets](https://docs.js-confuser.com/presets/all-presets.md) - [High Preset](https://docs.js-confuser.com/presets/high.md) - [Low Preset](https://docs.js-confuser.com/presets/low.md) - [Medium Preset](https://docs.js-confuser.com/presets/medium.md) - [Roadmap](https://docs.js-confuser.com/roadmap.md) - [Usage](https://docs.js-confuser.com/usage.md): Learn how to use JS-Confuser's API - [What Is Obfuscation?](https://docs.js-confuser.com/what-is-obfuscation.md): Learn more about what obfuscation is