# The Number isSafeInteger() method

> Learn how the JavaScript Number.isSafeInteger() method checks if a value is an integer within the safe range, between -2^53 and 2^53, where precision holds.

Author: Flavio Copes | Published: 2019-03-16 | Canonical: https://flaviocopes.com/javascript-number-issafeinteger/

A number might satisfy [`Number.isInteger()`](https://flaviocopes.com/javascript-number-isinteger/) but not  `Number.isSafeInteger()` if it goes out of the boundaries of safe integers, which I explained above.

So, anything over `2^53` and below `-2^53` is not safe:

```js
Number.isSafeInteger(Math.pow(2, 53)) // false
Number.isSafeInteger(Math.pow(2, 53) - 1) // true
Number.isSafeInteger(Math.pow(2, 53) + 1) // false
Number.isSafeInteger(-Math.pow(2, 53)) // false
Number.isSafeInteger(-Math.pow(2, 53) - 1) // false
Number.isSafeInteger(-Math.pow(2, 53) + 1) // true
```
