This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.


Prints messages to the (native) console.



  • message is the string message to log.


A common use of dump() is to debug JavaScript. The message passed to dump() is sent to the System Console (Native Console) if the Firefox process was started with the -console option. If the -console option was not specified then the output goes to stderr. Output from dump() is not sent to the Browser Console. Output can be sent to the Browser Console using console.log(). Privileged code can also use Components.utils.reportError and nsIConsoleService to log messages to the Error Console/Browser Console.

dump() is also available to XPCOM components implemented in JavaScript, even though window is not the global object in components. It is also explicitly made available in sandboxes. However, this use of dump is not affected by the preference mentioned below -- it will always be shown. It is therefore advisable to either check this preference yourself or use a debugging preference of your own to make sure you don't send lots of debugging content to a user's console when they might not be interested in it at all. Note that dump output from XPCOM components goes to stderr, while dump called elsewhere will output to stdout.

In Gecko dump() is disabled by default – it doesn't do anything but doesn't raise an error either. To see the dump output you have to enable it by setting the preference browser.dom.window.dump.enabled to true. You can set the preference in about:config or in a user.js file. Note: this preference is not listed in about:config by default, you may need to create it (right-click the content area -> New -> Boolean).

On Windows, you will need a console to actually see anything. If you don't have one already, closing the application and re-opening it with the command line parameter -console should create the console or use -attach-console to use the existing console. On other operating systems, it's enough to launch the application from a terminal.

To redirect the console output to a file, run firefox without the -console option and use the syntax to redirect stderr and stdout to a file, i.e.:

firefox > console.txt 2>&1

If you would like the console messages to appear in the console you used to launch the application, you can use the Gecko Console Redirector. Precompiled binaries are available in the zipped archive under Redirector-master\Gecko\Console Redirector\bin\Release Copy all the dll's and the exe to wherever you want. Then run Console Redirector.exe /?


This is not part of any specification


© 2016 Mozilla Contributors
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.

API DOM DOM_0 Method Non-standard