Deobfuscate obfuscator.io, unminify and unpack bundled javascript
See the code
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.
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@latest
Examples:
webcrack input.js
webcrack input.js > output.js
webcrack bundle.js -o output-dir
npm install webcrack@latest
Examples:
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:
0xb3eFD474Dd8aFA715F563EfA322F6ae9Ae9DfCeAbc1qc3u7ef2rue75f6t8x290r0qk0u84f0ln8ndjun6w9SFAYBxCKdtuj8DEAV9YT5zP68g4PyEkb21AmdxcBq87iYegrerGf1DUsTvUnbsv8gjTMJmzS3idRxHWkCy4iz1Xz5CUnDXy3VkTToSg32LUW3cwNrgLKd1TXRJqJY7MnvVR9yidm(top 24 of 37)
1,970 followers · starred Sep 2024
3,500 followers · starred Jul 2025
948 followers · starred Feb 2023
565 followers · starred Apr 2024
Deobfuscate obfuscator.io, unminify and unpack bundled javascript
See the code
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.
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@latest
Examples:
webcrack input.js
webcrack input.js > output.js
webcrack bundle.js -o output-dir
npm install webcrack@latest
Examples:
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:
0xb3eFD474Dd8aFA715F563EfA322F6ae9Ae9DfCeAbc1qc3u7ef2rue75f6t8x290r0qk0u84f0ln8ndjun6w9SFAYBxCKdtuj8DEAV9YT5zP68g4PyEkb21AmdxcBq87iYegrerGf1DUsTvUnbsv8gjTMJmzS3idRxHWkCy4iz1Xz5CUnDXy3VkTToSg32LUW3cwNrgLKd1TXRJqJY7MnvVR9yidm(top 24 of 37)
1,970 followers · starred Sep 2024
3,500 followers · starred Jul 2025
948 followers · starred Feb 2023
565 followers · starred Apr 2024