MDN’s new design is in Beta! A sneak peek:

JS DecompileScript

Creates the source code of a script from a script's compiled form.

JSAPI 1 and earlier


JSString * JS_DecompileScript(JSContext *cx, JSScript *script,
   const char *name, uintN indent);
Name Type Description
cx JSContext * The context to use to decompile the script. Requires request. In a JS_THREADSAFE build, the caller must be in a request on this JSContext.
script JSScript * Script to decompile.
name const char * Name to assign to the decompiled script.
indent uintN Number of spaces to use for indented code.


JS_DecompileScript creates the source code version of a script from a script's compiled form, script. name is the name you assign to the text version of the script; it is used only for debugging the source code version produced by this function.

If successful, JS_DecompileScript returns a string containing the source code of the script. Otherwise, it returns NULL. The source code generated by this function is accurate but lacks function declarations. In order to make it suitable for recompiling, you must edit the code to add the function declarations, or call JS_DecompileFunction on a compiled version of each function to generate the function declarations.

See Also

MXR ID Search for JS_DecompileScript

JS_CompileFile, JS_CompileScript, JS_DecompileFunction, JS_DestroyScript, JS_EvaluateScript, JS_ExecuteScript

Document Tags and Contributors

 Last updated by: Jorend,