Tool
synchrony
JavaScript cleaner and deobfuscator aimed mainly at output from javascript-obfuscator (obfuscator.io). It parses a script with acorn and runs a fixed pipeline of AST transformers that fold expressions, clean member accesses, remove dead branches, split sequence expressions, undo switch-based control-flow flattening and decode string arrays, re-implementing their base64 and RC4 decoders in TypeScript rather than executing the input. It ships on npm as deobfuscator with a synchrony CLI and a library API, and optional renaming replaces identifiers with generated word names rather than recovering the originals.
- Targets
- Website
- Category
- Website analysis tools
- Relationship
- Foundation tool
- Sources reviewed
Requirements & limits
- Latest release at review: 2.4.6, published to GitHub and to npm as deobfuscator on 2026-07-07, the same day as the reviewed master commit; the previous release, 2.4.5, dates from 2023-11-09. The README also points to a hosted web version at deobfuscate.relative.im.
- Install with npm, yarn or pnpm, or from the Git repository; package.json declares no Node.js version. The CLI reads one file, writes <name>.cleaned.<ext> unless --output is given, and offers --rename, --loose parsing, --ecma-version and --sourceType. A --config file is loaded with Node's require, so it runs as code, and a custom transformer list replaces the default pipeline; two jsconfuser transformers are available only that way and are not documented in the README.
- The README warns that output from old javascript-obfuscator versions will likely not deobfuscate correctly and that there is no user configuration for the automatic string decoder. The repository has no test suite, and its latest commit removed the GitHub CI configuration.
- GPL-3.0-only according to package.json and LICENSE.md.
About this entry
The description was reviewed against primary sources.
Primary sources
- README.md GitHub · relative/synchrony · Revision 710e9f6
- package.json GitHub · relative/synchrony · Revision 710e9f6
- src/cli.js GitHub · relative/synchrony · Revision 710e9f6
- src/deobfuscator.ts GitHub · relative/synchrony · Revision 710e9f6
- src/context.ts GitHub · relative/synchrony · Revision 710e9f6
- src/transformers/stringdecoder.ts GitHub · relative/synchrony · Revision 710e9f6
- LICENSE.md GitHub · relative/synchrony · Revision 710e9f6
- https://github.com/relative/synchrony/releases/tag/2.4.6
More in Websites
- sourcemapper · Tool
- ngrev · Tool
- jsluice · Tool
- REstringer · Tool
- Chrome extension source viewer (CRX Viewer) · Tool
- har-to-openapi · Tool