Number.MIN_VALUE
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
TheNumber.MIN_VALUE static data property represents the smallest positive numeric value representable in JavaScript.
In this article
Try it
function divide(x, y) { if (x / y < Number.MIN_VALUE) { return "Process as 0"; } return x / y;}console.log(divide(5e-324, 1));// Expected output: 5e-324console.log(divide(5e-324, 2));// Expected output: "Process as 0"Value
2-1074, or5E-324.
Property attributes ofNumber.MIN_VALUE | |
|---|---|
| Writable | no |
| Enumerable | no |
| Configurable | no |
Description
Number.MIN_VALUE is the smallest positive number (not the most negative number) that can be represented within float precision — in other words, the number closest to 0. The ECMAScript spec doesn't define a precise value that implementations are required to support — instead the spec says,"must be the smallest non-zero positive value that can actually be represented by the implementation". This is because small IEEE-754 floating point numbers aredenormalized, but implementations are not required to support this representation, in which caseNumber.MIN_VALUE may be larger.
In practice, its precise value in mainstream engines like V8 (used by Chrome, Edge, Node.js), SpiderMonkey (used by Firefox), and JavaScriptCore (used by Safari) is 2-1074, or5E-324.
BecauseMIN_VALUE is a static property ofNumber, you always use it asNumber.MIN_VALUE, rather than as a property of a number value.
Examples
>Using MIN_VALUE
The following code divides two numeric values. If the result is greater than or equal toMIN_VALUE, thefunc1 function is called; otherwise, thefunc2 function is called.
if (num1 / num2 >= Number.MIN_VALUE) { func1();} else { func2();}Specifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-number.min_value> |