Web/API/StorageManager/estimate

From Get docs

Secure contextThis feature is available only in secure contexts (HTTPS), in some or all supporting browsers.


The estimate() method of the StorageManager interface asks the Storage Manager for how much storage the current origin takes up (usage), and how much space is available (quota).

This method operates asynchronously, so it returns a Promise which resolves once the information is available. The promise's fulfillment handler is called with a StorageEstimate containing the usage and quota data.

Syntax

const estimatePromise = StorageManager.estimate();

Parameters

None.

Return value

A Promise that resolves to an object which conforms to the StorageEstimate dictionary. This dictionary contains estimates of how much space is available to the origin in StorageEstimate.quota, as well as how much is currently used in StorageEstimate.usage.

The returned values are not exact; between compression, deduplication, and obfuscation for security reasons, they will be imprecise.


You may find that the quota varies from origin to origin. This variance is based on factors such as:

  • How often the user visits
  • Public site popularity data
  • User engagement signals like bookmarking, adding to homescreen, or accepting push notifications

Example

In this example, we obtain the usage estimates and present the percentage of storage capacity currently used to the user.

HTML content

<label>
  You’re currently using about <output id="percent">
  </output>% of your available storage.
</label>

JavaScript content

navigator.storage.estimate().then(function(estimate) {
  document.getElementById("percent").value =
      (estimate.usage / estimate.quota * 100).toFixed(2);
});

Result

Specifications

Specification Status Comment
StorageThe definition of 'estimate()' in that specification. Living Standard Initial definition.

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
estimate Chrome

Full support 52

Edge

Full support ≤79

Firefox

Full support 51

IE

No support No

Opera

Full support Yes

Safari

?

WebView Android

Full support 52

Chrome Android

Full support 52

Firefox Android

Full support 51

Opera Android

Full support Yes

Safari iOS

?

Samsung Internet Android

Full support 6.0

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown


See also