JavaScript Number MIN_VALUE Property

Beginner
⏱️ 10 min read
📚 Updated: Jul 2026
🎯 5 Examples
🚀 5 Try-it labs
Static property

What You’ll Learn

Number.MIN_VALUE is a static data property on Number (same API as MDN Number.MIN_VALUE). It is the smallest positive Number — about 5e-324 — the positive value closest to zero. Anything smaller underflows toward 0. This tutorial covers its value, underflow guards, how it differs from -MAX_VALUE and EPSILON, five examples, and try-it labs.

01

Kind

Static property

02

Value

5e-324

03

Means

Closest to 0+

04

Underflow

→ 0

05

Writable

No

06

Baseline

Everywhere

Introduction

Beginners often guess that MIN_VALUE means “the most negative number.” In JavaScript it means the opposite end of the scale near zero: the tiniest positive Number that can still be stored.

In mainstream engines (V8, SpiderMonkey, JavaScriptCore) that value is 5e-324 (exactly 2−1074). Values smaller than that underflow and become 0.

💡
Static Property

Static properties belong to Number itself. Always write Number.MIN_VALUE. There is no (5).MIN_VALUE, and you do not call it like a function.

This page is part of JavaScript Number Properties. Related topics include Number.MAX_VALUE, Number.EPSILON, and Number.isFinite().

Understanding the MIN_VALUE Property

Number.MIN_VALUE is the smallest non-zero positive Number the implementation can represent. ECMAScript allows engines without denormalized floats to use a larger value, but Chrome, Firefox, Safari, and Node.js all use 5e-324.

  • It is a constant number, not a method.
  • It is positive and extremely close to zero.
  • The most negative finite Number is -Number.MAX_VALUE, not MIN_VALUE.
  • Results below MIN_VALUE typically become 0 (underflow).

📝 Syntax

General form of the static property Number.MIN_VALUE:

JavaScript
Number.MIN_VALUE

Value

In mainstream engines: 5e-324 (2−1074).

Property attributes

AttributeValue
Writablefalse
Enumerablefalse
Configurablefalse

Common patterns

JavaScript
Number.MIN_VALUE;          // 5e-324
Number.MIN_VALUE / 2;      // 0  (underflow)
Number.MIN_VALUE > 0;      // true

function divide(x, y) {
  if (x / y < Number.MIN_VALUE) {
    return "Process as 0";
  }
  return x / y;
}

⚡ Quick Reference

GoalCode
Smallest positive NumberNumber.MIN_VALUE
Most negative finite-Number.MAX_VALUE
Detect underflowx / y < Number.MIN_VALUE
Gap after 1Number.EPSILON
Largest finiteNumber.MAX_VALUE
Check zero after mathresult === 0

🔍 At a Glance

Four facts to remember about Number.MIN_VALUE.

Kind
static

Property on Number

Value
5e-324

Smallest positive Number

Underflow
0

Below the floor

Mutable
no

Read-only constant

📋 MIN_VALUE vs EPSILON vs -MAX_VALUE

MIN_VALUEEPSILON-MAX_VALUE
Approx. size5e-324~2.22e-16~-1.8e+308
SignPositivePositiveNegative
MeaningClosest to 0+Gap after 1Most negative finite
Common mix-up“Most negative?” NoNot the tiniest NumberNot MIN_VALUE

Examples Gallery

Examples follow MDN Number.MIN_VALUE patterns. Use View Output or Try It Yourself for each case.

📚 Getting Started

Read the constant and watch underflow become zero.

Example 1 — Read Number.MIN_VALUE

Print the smallest positive Number.

JavaScript
Number.MIN_VALUE;
// 5e-324
Try It Yourself

How It Works

Prefer the named constant over typing 5e-324 by hand when documenting the positive floor.

Example 2 — Underflow to 0

Halving MIN_VALUE drops below the representable range.

JavaScript
Number.MIN_VALUE / 2;  // 0
Try It Yourself

How It Works

Unlike overflow to Infinity, underflow collapses tiny positives toward zero.

📈 Practical Patterns

MDN-style guards and common beginner mix-ups.

Example 3 — MDN Divide Guard

Return a message when the quotient would underflow.

JavaScript
function divide(x, y) {
  if (x / y < Number.MIN_VALUE) {
    return "Process as 0";
  }
  return x / y;
}

divide(5e-324, 1);  // 5e-324
divide(5e-324, 2);  // "Process as 0"
Try It Yourself

How It Works

MDN’s pattern detects underflow before you treat the quotient as a meaningful tiny Number.

Example 4 — vs EPSILON

MIN_VALUE is vastly smaller than the gap after 1.

JavaScript
Number.MIN_VALUE;                         // 5e-324
Number.EPSILON;                           // ≈ 2.220446049250313e-16
Number.MIN_VALUE < Number.EPSILON;        // true
Try It Yourself

How It Works

Use EPSILON for near-1 equality. Use MIN_VALUE when discussing the positive floor of the type.

Example 5 — Not the Most Negative Number

Compare the positive floor with the negative ceiling.

JavaScript
Number.MIN_VALUE;      // 5e-324  (positive!)
-Number.MAX_VALUE;     // ≈ -1.7976931348623157e+308
Number.MIN_VALUE > 0;  // true
Try It Yourself

How It Works

Remember the naming trap: MIN_VALUE = smallest positive, not most negative.

🚀 Common Use Cases

  • Underflow guards — detect divisions that would collapse to zero.
  • Range documentation — state the positive floor of the Number type.
  • Teaching IEEE-754 — show denormalized / subnormal territory near zero.
  • Avoiding false “min” — clarify that most-negative is -MAX_VALUE.
  • Not for equality near 1 — use EPSILON instead.
  • Scientific underflow — know when tiny positives disappear.

🧠 How Underflow Relates to MIN_VALUE

1

Compute a tiny result

Divide or multiply toward values near zero.

Math
2

Compare to the floor

Ask whether the positive result is still ≥ Number.MIN_VALUE.

Bound
3

Stay nonzero or underflow

Above the floor → keep the Number. Below it → usually 0.

Branch
4

Handle deliberately

Return a message, treat as zero, or rescale the computation.

📝 Notes

  • This is a static property — use Number.MIN_VALUE only.
  • Do not write Number.MIN_VALUE() — it is not a function.
  • MIN_VALUE is positive — not the most negative Number.
  • Values below MIN_VALUE typically underflow to 0.
  • Do not confuse with Number.EPSILON.
  • The ECMAScript spec allows a larger MIN_VALUE if denormals are unsupported; mainstream browsers use 5e-324.

Browser & Runtime Support

Number.MIN_VALUE is Baseline Widely available. Mainstream engines expose 5e-324.

Baseline · Widely available

Number.MIN_VALUE

Safe for production everywhere. Use it as the named smallest positive Number.

100% Universal support
Google Chrome Supported · Desktop & Mobile
Full support
Mozilla Firefox Supported · Desktop & Mobile
Full support
Apple Safari Supported · macOS & iOS
Full support
Microsoft Edge Supported · Chromium
Full support
Internet Explorer No native support · Use a polyfill
Polyfill
Opera Supported · Modern versions
Full support
Samsung Internet Supported · Android
Full support
Bun Supported · JavaScript runtime
Supported
Deno Supported · JavaScript runtime
Supported
Node.js Supported · Server runtime
Supported
Android WebView Supported · Modern WebView
Full support
Number.MIN_VALUE Excellent

Bottom line: Use Number.MIN_VALUE for the positive floor. Use -Number.MAX_VALUE for the most negative finite Number. Use EPSILON for equality near 1.

Conclusion

Number.MIN_VALUE is the static constant for the smallest positive JavaScript Number. Below that floor, results underflow toward 0.

Continue with MAX_VALUE, EPSILON, or the Number properties hub.

💡 Best Practices

✅ Do

  • Read Number.MIN_VALUE on the constructor
  • Remember it is positive and near zero
  • Guard divisions that may underflow
  • Use -Number.MAX_VALUE for the most negative finite
  • Use EPSILON for float equality near 1

❌ Don’t

  • Write (5).MIN_VALUE or Number.MIN_VALUE()
  • Treat MIN_VALUE as the most negative Number
  • Confuse MIN_VALUE with EPSILON
  • Ignore silent underflow to 0
  • Use MIN_VALUE as a general equality tolerance

Key Takeaways

Knowledge Unlocked

Five things to remember about Number.MIN_VALUE

Static positive floor for JavaScript Numbers.

5
Core concepts
📝 02

Value

5e-324

Constant
0 03

Underflow

to 0

Limit
+ 04

Sign

positive

Caveat
05

Mutable

no

Readonly

❓ Frequently Asked Questions

Number.MIN_VALUE is the smallest positive Number JavaScript can represent — about 5e-324. It is the positive value closest to zero, not the most negative number.
Yes. Read it on Number itself: Number.MIN_VALUE. There is no (5).MIN_VALUE on number instances, and it is not a method.
No. The most negative finite Number is -Number.MAX_VALUE. Number.MIN_VALUE is tiny and positive — closer to 0 than any other positive Number.
Results smaller than Number.MIN_VALUE underflow toward 0. For example Number.MIN_VALUE / 2 is 0 in mainstream engines.
EPSILON (~2.22e-16) is the gap between 1 and the next Number. MIN_VALUE (~5e-324) is the smallest positive Number overall. EPSILON is much larger than MIN_VALUE.
It is Baseline Widely available. In Chrome, Firefox, Safari, and Node.js its value is 5e-324 (2^-1074).
Did you know?

Numbers this small are often subnormal (denormalized) IEEE-754 values — they trade precision for the ability to represent values extremely close to zero. Below Number.MIN_VALUE, mainstream engines flush them to 0.

More Number Properties

Return to the hub for static Number constants.

Number properties hub →

About the author

Mari Selvan M P
Mari Selvan M P 🔗

Developer, cloud engineer, and technical writer

  • Experience 12 years building web and cloud systems
  • Focus Full Stack Development, AWS, and Developer Education

I write practical tutorials so students and working developers can learn by doing—from databases and APIs to deployment on AWS.

8 people found this page helpful