Make compressed code easier to inspect
This free JavaScript deobfuscator and HTML beautifier helps turn compact source into readable, indented text. Paste JavaScript or HTML, choose an indentation size, and run the formatter. Use it when reviewing a small vendor script, inspecting a build artifact, or comparing a minified snippet with its documented behavior. The input stays visible beside the result so you can review every transformation before saving it.
Static unpacking without running your script
The optional JavaScript unpacker extracts string literals inside a single eval wrapper and decodes common Packer-style payloads with a literal word dictionary. It reads syntax and substitutes dictionary tokens; it never executes the supplied function or evaluates your input. Up to five recognized layers are processed. Packer-shaped input with a modified decoder may produce an incorrect reconstruction, so treat extracted code as a review aid rather than a guaranteed equivalent program.
Beautifying and deobfuscating are different tasks. Formatting improves whitespace and indentation. Static unpacking can expose a supported payload, but it cannot reliably recover original variable names, comments, source maps, encrypted strings, or complex control flow. Unsupported wrappers remain formatted source. This tool does not promise to reverse every obfuscator or reproduce the original project.
Work locally and keep the original
Formatting runs inside a browser worker, keeping the editor responsive. Your pasted source is not uploaded or stored by this tool. HTML appears only as text: scripts, images, and embedded links in the source are not rendered as a preview. The page bundles its formatter and parser, so processing does not depend on a third-party formatting API.
Inputs are limited to one MiB of UTF-8 text. A ten-second timeout stops unusually expensive transformations, and output size is bounded. Copy the result, download a JavaScript or HTML file, or clear both editors when finished. Changing the input or settings invalidates the previous result. Always preserve the original file and test formatted or unpacked code in your own development environment before deploying it. Use the tool on code you own or have permission to inspect.
Frequently asked questions
Can this recover the original JavaScript?
No. It formats source and extracts supported static wrappers. Original names, comments and complex obfuscation cannot generally be recovered.
Will pasted JavaScript execute?
No. Input is parsed and formatted as text in a worker. No eval, Function constructor or HTML preview is used to run your source.
Which unpacking formats work?
Single eval wrappers containing a string literal, and common Packer-style literal payloads with a radix and word dictionary. Modified decoders require manual review.