Tool
javascript-deobfuscator
General-purpose JavaScript deobfuscator for common obfuscation patterns, published on npm as js-deobfuscator and usable as a library or CLI. It unpacks arrays of literals and replaces references to them, removes simple, array and arithmetic proxy functions, simplifies arithmetic and string concatenation, removes dead branches, turns computed member access into static properties, renames hexadecimal identifiers such as _0xca830a and beautifies the result. The author also hosts an online version and maintains a separate deobfuscator for Obfuscator.io output.
Requirements and limitations
- npm release at review: js-deobfuscator 1.1.7, published 2025-07-15; the reviewed main commit is that version bump. No GitHub releases are published. The TypeScript package parses and regenerates code with the Shift parser and the author's shift-codegen fork; package.json declares no Node.js version range.
- Install it locally to import as a module, or globally for the js-deobfuscator CLI, which reads an input file and writes an output file, with -m for ES modules. The library config toggles each transformation. An online version runs at deobfuscate.io; only the repository was reviewed.
- Supply the JavaScript to analyze yourself. It handles the generic patterns listed in the README; for Obfuscator.io output the README points to the author's dedicated deobfuscator. Hexadecimal identifiers are replaced with names drawn from a bundled word list, not recovered originals, so output still needs analyst review.
- The LICENSE file is Apache-2.0, while package.json and the npm metadata declare ISC. No scripts were deobfuscated for this entry.
About this entry
- Type
- Tool
- Category
- Website analysis tools
- Relationship
- Foundation tool
- Targets
- Website
Sources reviewed
The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.
Primary sources
- README.md GitHub · ben-sb/javascript-deobfuscator · Revision 4107a8a
- package.json GitHub · ben-sb/javascript-deobfuscator · Revision 4107a8a
- src/config.ts GitHub · ben-sb/javascript-deobfuscator · Revision 4107a8a
- src/modifications/renaming/variableRenamer.ts GitHub · ben-sb/javascript-deobfuscator · Revision 4107a8a
- LICENSE GitHub · ben-sb/javascript-deobfuscator · Revision 4107a8a
- https://www.npmjs.com/package/js-deobfuscator/v/1.1.7