The Number.EPSILON property represents the difference between 1 and the smallest floating point number greater than 1.

You do not have to create a Number object to access this static property (use Number.EPSILON).

Property attributes of Number.EPSILON
Writable no
Enumerable no
Configurable no


The EPSILON property has a value of approximately 2.2204460492503130808472633361816E-16, or 2-52.


Testing equality

x = 0.2;
y = 0.3;
z = 0.1;
equal = (Math.abs(x - y + z) < Number.EPSILON);


if (Number.EPSILON === undefined){
    Number.EPSILON  =  Math.pow(2, -52);


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

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support Yes Yes25 No Yes9
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support Yes Yes Yes25 Yes9 ?

See also

  • The Number object it belongs to.

Document Tags and Contributors

 Last updated by: wbamberg,