MDN may have intermittent access issues April 18 13:00 - April 19 01:00 UTC. See for all notifications.

Your Search Results



    The Math.log() function returns the natural logarithm (base e) of a number, that is

    x>0,Math.log(x)=ln(x)=the uniqueysuch thatey=x\forall x > 0, \mathtt{\operatorname{Math.log}(x)} = \ln(x) = \text{the unique} \; y \; \text{such that} \; e^y = x




    A number.


    If the value of number is negative, the return value is always NaN.

    Because log is a static method of Math, you always use it as Math.log(), rather than as a method of a Math object you created.


    Example: Using Math.log

    Math.log(-1); // NaN, out of range
    Math.log(0);  // -Infinity
    Math.log(1);  // 0
    Math.log(10); // 2.302585092994046

    Example: Using Math.log with a different base

    The following function returns the logarithm of y with base x (ie. logx y):

    function getBaseLog(x, y) {
        return Math.log(y) / Math.log(x);

    If you run getBaseLog(10, 1000) it returns 2.9999999999999996 due to floating-point rounding, which is very close to the actual answer of 3.


    Specification Status Comment
    ECMAScript 1st Edition. Implemented in JavaScript 1.0 Standard Initial definition.
    ECMAScript Language Specification 5.1th Edition (ECMA-262) Standard  
    ECMAScript Language Specification 6th Edition (ECMA-262) Draft  

    Browser compatibility

    Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
    Basic support (Yes) (Yes) (Yes) (Yes) (Yes)
    Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
    Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

    See also

    Document Tags and Contributors

    Contributors to this page: Sevenspade
    Last updated by: Sevenspade,