--- title: Math.acosh() short-title: acosh() slug: Web/JavaScript/Reference/Global_Objects/Math/acosh page-type: javascript-static-method browser-compat: javascript.builtins.Math.acosh sidebar: jsref --- The **`Math.acosh()`** static method returns the inverse hyperbolic cosine of a number. That is, βˆ€xβ‰₯1,π™ΌπšŠπšπš‘.πšŠπšŒπš˜πšœπš‘(𝚑)=arcosh(x)=the unique yβ‰₯0 such that cosh(y)=x=ln(x+x2βˆ’1)\begin{aligned}\forall x \geq 1,\;\mathtt{\operatorname{Math.acosh}(x)} &= \operatorname{arcosh}(x) = \text{the unique } y \geq 0 \text{ such that } \cosh(y) = x\\&= \ln\left(x + \sqrt{x^2 - 1}\right)\end{aligned} {{InteractiveExample("JavaScript Demo: Math.acosh()")}} ```js interactive-example console.log(Math.acosh(0.999999999999)); // Expected output: NaN console.log(Math.acosh(1)); // Expected output: 0 console.log(Math.acosh(2)); // Expected output: 1.3169578969248166 console.log(Math.acosh(2.5)); // Expected output: 1.566799236972411 ``` ## Syntax ```js-nolint Math.acosh(x) ``` ### Parameters - `x` - : A number greater than or equal to 1. ### Return value The inverse hyperbolic cosine of `x`. If `x` is less than 1, returns {{jsxref("NaN")}}. ## Description Because `acosh()` is a static method of `Math`, you always use it as `Math.acosh()`, rather than as a method of a `Math` object you created (`Math` is no constructor). ## Examples ### Using Math.acosh() ```js Math.acosh(0); // NaN Math.acosh(1); // 0 Math.acosh(2); // 1.3169578969248166 Math.acosh(Infinity); // Infinity ``` ## Specifications {{Specifications}} ## Browser compatibility {{Compat}} ## See also - [Polyfill of `Math.acosh` in `core-js`](https://github.com/zloirock/core-js#ecmascript-math) - [es-shims polyfill of `Math.acosh`](https://www.npmjs.com/package/math.acosh) - {{jsxref("Math.asinh()")}} - {{jsxref("Math.atanh()")}} - {{jsxref("Math.cosh()")}} - {{jsxref("Math.sinh()")}} - {{jsxref("Math.tanh()")}}