Number.isFinite(value) returns true only when value is a number and is finite — not Infinity, -Infinity, or NaN. It is a static method (ES2015) and does not coerce types.
Pass the required arguments shown below. Check return values and browser support before you rely on the result.
Syntax
Call Number.isFinite. Start with this line.
JavaScript
Number.isFinite(value)
Call
What it does
Number.isFinite(value)
Primary signature.
Number.isFinite(...)
Call with the arguments your case needs.
Built into JavaScript. Call Number.isFinite(...) on the Number constructor — no import required.
Library declarations
JavaScript
Number.isFinite(value)
Parameters
Parameter
Description
value
Required. Any value to test
Return Value
Return Value
Description
*
true or false
JavaScript Examples
Example 1 — Finite Numbers Pass
Normal numbers — small or huge — are finite when their type is number.
Strict type check."25" is a string → Number.isFinite returns false.
Global coerces.isFinite("25") converts to 25 first → true.
null trap. Global treats null as 0; Number.isFinite(null) does not.
Accept text safely. Parse first: Number.isFinite(Number("25")).
Compatibility
Browser & Runtime Support
Number.isFinite() is part of ES2015 and is Baseline Widely available in modern browsers and Node.js.
✓ Baseline · ES2015
Number.isFinite()
Supported in Chrome, Firefox, Safari, Edge, and Node.js for years. Safe for modern apps without a polyfill.
98%Modern browser support
Google ChromeSupported · Desktop & Mobile
Full support
Mozilla FirefoxSupported · Desktop & Mobile
Full support
Apple SafariSupported · macOS & iOS
Full support
Microsoft EdgeSupported · Chromium
Full support
Internet ExplorerNo native support · Use a polyfill
Polyfill
OperaSupported · Modern versions
Full support
Samsung InternetSupported · Android
Full support
BunSupported · JavaScript runtime
Supported
DenoSupported · JavaScript runtime
Supported
Node.jsSupported · Server runtime
Supported
Android WebViewSupported · Modern WebView
Full support
Number.isFiniteExcellent
Bottom line: Use Number.isFinite for new code. Fall back to a polyfill only if you must support very old environments.
Frequently Asked Questions
Number.isFinite(value) returns true only when value is of type number and is finite — not Infinity, -Infinity, or NaN. Example: Number.isFinite(10 / 5) is true; Number.isFinite(1 / 0) is false.
Yes. Call it on Number itself: Number.isFinite(x). Do not call it on a number instance like (5).isFinite() — that is not the Number API.
Global isFinite() coerces the argument to a number first, so isFinite("25") is true. Number.isFinite() never coerces — Number.isFinite("25") is false because the value is a string.
No. NaN is not a finite number, so Number.isFinite(NaN) is false. The same applies to Infinity and -Infinity.
Both return false with Number.isFinite. Global isFinite(null) returns true because null coerces to 0 — another reason to prefer the Number static method.
It is Baseline Widely available (ES2015) and supported in every modern browser and Node.js.