AI-Driven Code Reconstruction
Restore Original Logic & Structure
jsunpack is a premier online JavaScript deobfuscator. Leveraging an AI-driven AST engine, it provides one-click restoration of Webpack, Vue, and React bundles. Automatically recover variable semantics and infer TypeScript types, transforming unreadable minified code into clean, auditable source.
function a(b,c){return d(b-371,c)}function d(a,b){var c=e();return d=function(f,g){f=f-125;var h=c[f];return h},d(a,b)}var e=function(){var f=["shift","1780730MHUkXj","2911410RJxLsf","push","1642FxhJRJ","4uQbILO","length","2114965nzBvJF","8723208ibdPnP","splice","slice","7198824QUFSxS","9qXSdRG","1337643UWRnXL","unshift","3132900AcxLsm"];return e=function(){return f},e()}(function(b,c){var f=a,g=b();while(!![]){try{var h=-parseInt(f(384))/1+parseInt(f(382))/2*(parseInt(f(376))/3)+parseInt(f(383))/4+-parseInt(f(377))/5+parseInt(f(380))/6+parseInt(f(379))/7*(-parseInt(f(378))/8)+parseInt(f(381))/9;if(h===c)break;else g[f(385)](g[f(382)]())}catch(i){g[f(385)](g[f(382)]())}}}(e,983952));/**
* Array manipulation utility function
* @param array Array to manipulate
* @param index Operation index
* @returns Processed array
*/
function arrayManipulator<T>(
array: T[],
index: number
): T[] {
// Check array length
if (array.length === 0) {
return array;
}
// Execute array operation
if (index > 0) {
array.push(array.shift()!);
} else {
array.unshift(array.pop()!);
}
return array.slice(0);
}Code Transformation Showcase
See how our AI deobfuscator transforms minified, unreadable code into clean, structured, and auditable source with complete TypeScript definitions.
JS Code Restoration
Convert compressed, obfuscated, hard-to-read JS code into clear, structured code
const a=function(){let b=!0;return function(c,d){const e=b?function(){if(d){const f=d.apply(c,arguments);return d=null,f}}:function(){};return b=!1,e}}(),c=a(this,function(){return c.toString().search("(((.+)+)+)+$").toString().constructor(c).search("(((.+)+)+)+$")});c();/**
* Create a function that executes only once
* @param context Function context
* @param callback Callback function
* @returns Processed result
*/
const createOnceFunction = function() {
// Mark if it's the first execution
let isFirstTime = true;
return function(context, callback) {
// If it's the first execution, call the callback function
const onceExecutor = isFirstTime
? function() {
if (callback) {
const result = callback.apply(context, arguments);
// Clear reference to help garbage collection
callback = null;
return result;
}
}
: function() {};
// Set to not first time
isFirstTime = false;
return onceExecutor;
};
}();Ready to experience powerful code deobfuscation?
Try our AI deobfuscator now—completely free!
Long File Decompilation - Professional Grade
Beyond simple decompilation, our multi-Agent collaboration reconstructs obfuscated code into production-ready project architecture
Frequently asked questions
Q&A
Common questions about long file decompilation
What types of code can I decompile?
Supports decompilation of common JavaScript build products, including single files or packaged JS, compatible with code generated by mainstream build tools like Webpack, Vite, Rollup, etc.
What can be generated from decompiling a project file?
Can reconstruct packaged code into a complete project engineering structure, automatically identify and split third-party dependencies from business code, and output readable, analyzable, researchable source-code-level engineering.
What is the quality of the decompiled project? Can it run directly?
Generated projects usually cannot run directly, but have been restored to the greatest extent possible with clear, readable, analyzable engineering structure. I will split modules and identify third-party dependencies and business logic to the greatest extent under current technical conditions. The decompilation result is closer to the real project form and is suitable for code analysis, logic research, and secondary restoration.
What file sizes are supported for decompilation?
Single files currently support up to 5MB. Larger files or complete projects can be handled through customization, please contact the author.
Is decompilation free?
After registration, a certain amount of free usage quota is provided. Small files can be completely decompiled within the quota. Exceeding the free quota or larger files usually requires payment.
Can decompilation results be used for secondary development?
Decompilation results are mainly used for learning, analysis, and research. However, if you obtain authorization, you can perform secondary development as follows: 1) First read the decompilation output to quickly understand the overall project architecture and business implementation logic; 2) Create a new project based on your own technology stack; 3) Reference, reuse, or adaptively migrate the decompiled business components or core logic, and perform secondary development on this basis, which is usually more efficient than starting from scratch.
How long does it take to complete decompilation?
Processing time is related to file size and complexity. Generally: under 1MB takes about 30 minutes–1 hour, 2MB takes about 2–4 hours, 3–5MB takes about 5–20 hours. Queuing may be required during peak periods, and overall time will be extended accordingly.
Choose Decompilation Mode
Select the appropriate decompilation mode based on your needs
Short Code Mode
Long File Mode
Long File Decompilation Workbench
Professional ModeUpload files for multi-Agent collaborative processing and complete project reconstructionView example output
Long File Decompilation Console
Drag file here
Or click to select file
