Math.log2()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
TheMath.log2() static method returns the base 2 logarithm of a number. That is
In this article
Try it
console.log(Math.log2(3));// Expected output: 1.584962500721156console.log(Math.log2(2));// Expected output: 1console.log(Math.log2(1));// Expected output: 0console.log(Math.log2(0));// Expected output: -InfinitySyntax
js
Math.log2(x)Parameters
xA number greater than or equal to 0.
Return value
The base 2 logarithm ofx. Ifx < 0, returnsNaN.
Description
Becauselog2() is a static method ofMath, you always use it asMath.log2(), rather than as a method of aMath object you created (Math is not a constructor).
This function is the equivalent ofMath.log(x) / Math.log(2). Forlog2(e), use the constantMath.LOG2E, which is 1 /Math.LN2.
Examples
>Using Math.log2()
js
Math.log2(-2); // NaNMath.log2(-0); // -InfinityMath.log2(0); // -InfinityMath.log2(1); // 0Math.log2(2); // 1Math.log2(3); // 1.584962500721156Math.log2(1024); // 10Math.log2(Infinity); // InfinitySpecifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-math.log2> |