webcrack is a tool for reverse engineering javascript. It can deobfuscate obfuscator.io, unminify, transpile, and unpack webpack/browserify, to resemble the original source code as much as possible.
Try it in the online playground or view the documentation.
- 🚀 Performance - Various optimizations to make it fast
- 🛡️ Safety - Considers variable references and scope
- 🔬 Auto-detection - Finds code patterns without needing a config
- ✍🏻 Readability - Removes obfuscator/bundler artifacts
- ⌨️ TypeScript - All code is written in TypeScript
- 🧪 Tests - To make sure nothing breaks
Node.js 22 or 24.
Note
webcrack depends on isolated-vm, which does not recommend using odd-numbered Node.js releases because they frequently break ABI/API compatibility with V8.
npm install -g webcrack@latestExamples:
webcrack input.js
webcrack input.js > output.js
webcrack bundle.js -o output-dirnpm install webcrack@latestExamples:
import fs from 'fs';
import { webcrack } from 'webcrack';
const input = fs.readFileSync('bundle.js', 'utf8');
const result = await webcrack(input);
console.log(result.code);
console.log(result.bundle);
await result.save('output-dir');If this project has helped you, consider donating to support its development:
- GitHub Sponsors
- Ethereum:
0xb3eFD474Dd8aFA715F563EfA322F6ae9Ae9DfCeA - Bitcoin:
bc1qc3u7ef2rue75f6t8x290r0qk0u84f0ln8ndjun - Solana:
6w9SFAYBxCKdtuj8DEAV9YT5zP68g4PyEkb21AmdxcBq - Monero:
87iYegrerGf1DUsTvUnbsv8gjTMJmzS3idRxHWkCy4iz1Xz5CUnDXy3VkTToSg32LUW3cwNrgLKd1TXRJqJY7MnvVR9yidm
