Skip to content
NSNormandin SystemsTHE EVERYDAY TOOLBOXMain site
</>

Development / YOUR EVERYDAY TOOLBOX

Javascript Unobfuscator/Unpacker

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.

✓ Free to use✓ No account neededHow to use this tool ↓
YOUR WORKSPACESee an example ↗

Opening your tool…

Runs in your browser. Check important results and keep a copy of your original files.

THE PRACTICAL GUIDE · NORMANDIN SYSTEMS

Get more from Javascript Unobfuscator/Unpacker

JavaScript Unobfuscator/Unpacker uses webcrack to make supported bundled or obfuscated JavaScript easier to inspect. It can unminify and transform supported patterns, including certain obfuscator.io output and webpack or Browserify bundles. The goal is a more understandable representation; the original names, comments, and exact source layout cannot generally be recovered from information that is no longer present. Code transformations are most useful when you know the language and the surrounding context of the snippet. Work from a saved copy and start with a small, valid example that demonstrates the behavior you need. Formatting, encoding, and generation do not establish that a program is correct. Review the output as source code, keep meaningful comments when appropriate, and test the result in the same environment that will eventually interpret it. This makes subtle changes much easier to spot.

Guide updated October 13, 2026

How to use this tool

  1. Paste a small, representative snippet and keep a copy of the input. Include the punctuation and delimiters needed to make the example meaningful.
  2. Provide a small authorized sample, run the unpacking operation, and review the recovered structure and any diagnostics.
  3. Review the example below and compare its expected behavior with a small sample of your own input before continuing.
  4. Copy the result into a scratch file and verify it with the intended parser, editor, or test environment before replacing the original code.

SEE IT IN PRACTICE

A worked example

EXAMPLE INPUT
A compact supported bundle or obfuscated JavaScript sample
RESULT / WHAT TO EXPECT
A more readable source representation, where the supported transformations succeed

Recovered structure can help explain behavior, but the output is a reconstruction rather than a guaranteed copy of the original source.

Reconstruction depends on recognizable patterns

An unpacker identifies patterns used by particular bundlers or obfuscators and rewrites them into a more understandable form. A different version, a custom transformation, or several layers of encoding can exceed the supported patterns. A partially improved result can still be useful, but it should not be described as the exact original source. Inspect diagnostics and compare module boundaries, strings, and control flow to understand what was recovered and what remains uncertain.

Review unknown code without granting it trust

Readable code can still perform unwanted actions. Treat an unpacked result as material to inspect rather than as a program to run automatically in a normal development session. For code you own, compare the reconstructed output with known behavior and available source maps. Preserve the original bundle alongside the result so an incorrect transformation can be investigated. Renamed identifiers and missing comments are expected limits when the original information was removed before the bundle reached this tool.

When this tool is useful

  • Inspect a bundle you maintain
  • Recover readable structure for debugging
  • Understand the limits of supported JavaScript deobfuscation

Tips for a better result

  • Compare observable behavior in an appropriate isolated test and document which transformations succeeded versus which code still requires manual analysis.
  • Separate a syntax check from a behavior check. A snippet can parse successfully while producing the wrong value, selecting the wrong element, or changing an important edge case.
  • Keep the source and the settings used for this result together. That makes a later comparison or correction easier, especially when another person needs to reproduce the same outcome.

Frequently asked questions

Can every obfuscation pattern be unpacked?

Unsupported obfuscation patterns may remain or fail to unpack. Inspect unfamiliar code without running it in an environment containing sensitive application data.

Can I use generated or transformed code immediately?

Treat the result as a draft to review. Check names, escaping, syntax, and assumptions in the target environment, then run a representative test. The tool cannot see the wider application or know every requirement that applies to it.

How do I investigate unexpected output?

Reduce the input to the smallest example that still shows the issue. Check the chosen language or mode, inspect special characters and whitespace, and compare with the original. Add complexity back gradually after the basic example works.

What happens to the information I enter?

The utility processes your input in this browser. Some tools retain field values in browser storage or the URL; avoid entering secrets in shareable fields. Page and asset requests still go to the hosting provider. Read the privacy and offline-use notes for details.