Checks if value is classified as a Number primitive or object. Part of Lodash Lang (stable — not deprecated). Note:Infinity, -Infinity, and NaN count as numbers — use _.isFinite to exclude them.
Pass the value you want to inspect or convert. Read the return type carefully before you use the result.
Syntax
Call _.isNumber. Start with this line.
Lodash
_.isNumber(value)
Call
What it does
_.isNumber(value)
Primary signature.
Prefer import isNumber from "lodash/isNumber" when you want a smaller bundle.
Library declarations
Lodash
_.isNumber(value)
Parameters
Parameter
Description
value
Required. Value to check
Return Value
Return Value
Description
*
true if classified as a number, else false
Lodash Examples
Example 1 — Official: Numbers, Extremes, Strings
Accept number types; reject numeric-looking strings.
Docs tip. Official note: exclude Infinity / NaN with _.isFinite.
Compatibility
Browser & Runtime Support
_.isNumber is a Lodash Lang helper available in 4.x (and earlier builds). It runs anywhere Lodash runs — modern browsers (via CDN or bundle) and Node.js / Bun / Deno with npm install lodash. Native engines expose related checks via typeof and Number.isFinite, but not this helper by name.
✓ Stable · Lodash 4.x
_.isNumber()
Available in [email protected] full builds and the lodash/isNumber modular import. Works in evergreen browsers and current Node LTS when Lodash is installed.
100%With Lodash 4.x
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
_.isNumberLodash 4.x
Bottom line: Safe for production once Lodash is on the page or in your bundle. Prefer import isNumber from "lodash/isNumber" for smaller builds. Pair with _.isFinite when Infinity/NaN must fail.
Frequently Asked Questions
_.isNumber(value) returns true when value is classified as a Number primitive or a boxed Number object. That includes NaN and ±Infinity.
Yes. Lodash follows ECMAScript typing — typeof NaN and typeof Infinity are both "number". Use _.isFinite when those extremes must be rejected.
Numeric-looking strings stay typeof "string" until you coerce them with Number() or parse functions.
Yes. Object(7) / new Number(7) brand as Number objects, so _.isNumber accepts them.
BigInt is a distinct primitive (typeof "bigint"), so _.isNumber returns false.
Use import isNumber from "lodash/isNumber" or require("lodash/isNumber") so bundlers can tree-shake unused Lodash code. Full build: import _ from "lodash" then _.isNumber.