Join MDN and developers like you at Mozilla's View Source conference, 12-14 September in Berlin, Germany. Learn more at

The Number.isFinite() method determines whether the passed value is a finite number.




The value to be tested for finiteness.

Return value

A Boolean indicating whether or not the given value is a finite number.


In comparison to the global isFinite() function, this method doesn't forcibly convert the parameter to a number. This means only values of the type number, that are also finite, return true.


Number.isFinite(Infinity);  // false
Number.isFinite(NaN);       // false
Number.isFinite(-Infinity); // false

Number.isFinite(0);         // true
Number.isFinite(2e64);      // true

Number.isFinite('0');       // false, would've been true with
                            // global isFinite('0')
Number.isFinite(null);      // false, would've been true with
                            // global isFinite(null)


Number.isFinite = Number.isFinite || function(value) {
    return typeof value === "number" && isFinite(value);


Specification Status Comment
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Number.isInteger' in that specification.
Standard Initial definition.
ECMAScript 2017 Draft (ECMA-262)
The definition of 'Number.isInteger' in that specification.

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 19 16 (16) No support 15 9
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support ? ? 16.0 (16) ? ? ?

See also

  • The Number object it belongs to.

Document Tags and Contributors

 Last updated by: eduardoboucas,