Secure context
This 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 |
---|---|---|
Storage The definition of 'estimate()' in that specification. |
Living Standard | Initial definition. |
Browser compatibility
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
estimate | Chrome Full support 52 | Edge Full support β€79 | Firefox Full support 51 | IE ? | 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
- Compatibility unknown
- Compatibility unknown
See also
- Storage API
Storage
, the object returned byWindow.localStorage
StorageManager
navigator.storage