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);


ECMAScript (ECMA-262)
The definition of 'Number.EPSILON' in that specification.

Browser compatibility

Update compatibility data on GitHub
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
EPSILONChrome Full support 34Edge Full support 12Firefox Full support 25IE No support NoOpera Full support 21Safari Full support 9WebView Android Full support ≤37Chrome Android Full support 34Firefox Android Full support 25Opera Android Full support 21Safari iOS Full support 9Samsung Internet Android Full support 2.0nodejs Full support 0.12


Full support  
Full support
No support  
No support

See also

  • The Number object it belongs to