Outputs a message to the Web Console.

Note: This feature is available in Web Workers.

Syntax

console.log(obj1 [, obj2, ..., objN]);
console.log(msg [, subst1, ..., substN]);

Parameters

obj1 ... objN
A list of JavaScript objects to output. The string representations of each of these objects are appended together in the order listed and output. Please be warned that if you log objects in the latest versions of Chrome and Firefox what you get logged on the console is a reference to the object, which is not necessarily the 'value' of the object at the moment in time you call console.log(), but it is the value of the object at the moment you click it open.
msg
A JavaScript string containing zero or more substitution strings. 
subst1 ... substN
JavaScript objects with which to replace substitution strings within msg. This gives you additional control over the format of the output.

See Outputting text to the console in the documentation of console for details.

Specifications

Specification Status Comment
Console API
The definition of 'console.log()' in that specification.
Living Standard Initial definition

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
Basic supportChrome Full support YesEdge Full support 12Firefox Full support 4IE Full support 8Opera Full support YesSafari Full support YesWebView Android ? Chrome Android ? Edge Mobile Full support YesFirefox Android Full support 4Opera Android ? Safari iOS ? Samsung Internet Android ?
Substitution stringsChrome Full support Yes
Notes
Full support Yes
Notes
Notes In version 28, if a negative value is passed to %d, it will be rounded down to the closest negative integer, so -0.1 becomes -1.
Edge Full support YesFirefox Full support 9IE Full support 10
Notes
Full support 10
Notes
Notes %c is not supported, %d will render as 0 when it is not a number
Opera ? Safari ? WebView Android ? Chrome Android ? Edge Mobile Full support YesFirefox Android Full support 9Opera Android ? Safari iOS ? Samsung Internet Android ?

Legend

Full support  
Full support
Compatibility unknown  
Compatibility unknown
See implementation notes.
See implementation notes.

Difference with console.dir()

You might ask yourself what's the difference between console.dir() and console.log().

Another useful difference in Chrome exists when sending DOM elements to the console.

Notice:

  • console.log prints the element in an HTML-like tree
  • console.dir prints the element in a JSON-like tree

Specifically, console.log gives special treatment to DOM elements, whereas console.dir does not. This is often useful when trying to see the full representation of the DOM JS object.

There's more information in the Chrome Console API reference about this and other functions.

Logging objects

Don't use console.log(obj);,
use console.log(JSON.parse(JSON.stringify(obj)));.

This way you are sure you are seeing the value of obj at the moment you log it.

See also