No Login Data Private Local Save

Storage Quota Visualizer - Online See Available Space

10
0
0
0

Storage Quota Visualizer

Real-time overview of your browser's storage usage, quota, and available space for this origin

Loading...
0% Used
Total Quota
--
Maximum storage allowed by browser
Used Space
--
--
Available Space
--
Free space remaining in quota
Usage 0%
Storage API Availability
Storage.estimate() Storage.persist() Storage.persisted() localStorage IndexedDB Cache API
Persistent Storage

Checking status...

Granted
localStorage Usage (Estimated)
Calculated via UTF-8 byte estimation of stored key-value pairs
Calculating... 0 items
Typical limit: 5–10 MB (browser-dependent, not part of quota-managed storage)

Frequently Asked Questions

Browser storage quota is the maximum amount of disk space a web application (origin) is allowed to use for storing data locally. This includes IndexedDB databases, Cache API caches (Service Worker caches), and other forms of quota-managed storage. The quota is dynamically calculated by the browser based on available disk space, with Chrome typically allowing up to 60% of free disk space and Firefox up to 50%. Browsers may evict data from origins that exceed or approach their quota limits, especially for temporary storage.

The navigator.storage.estimate() method returns a Promise that resolves to an object with two properties: quota (total available space in bytes) and usage (currently used space in bytes). This is part of the StorageManager API and provides the most accurate real-time estimate of storage consumption for the current origin. Note that this primarily covers quota-managed storage (IndexedDB, Cache API, Service Worker registrations) and may not fully account for localStorage or sessionStorage, which have separate limits (typically 5–10 MB).

Temporary storage (default) is subject to automatic eviction by the browser under storage pressure — the browser can delete this data without user consent when disk space runs low. Persistent storage is protected from automatic eviction; data remains until the user manually clears it. You can request persistent storage via navigator.storage.persist(). In Chrome, persistent storage requests are more likely to be granted for installed PWAs or sites with high user engagement. Firefox prompts the user for permission. Once granted, the storage is marked as persistent and will not be cleared during automatic cleanup.

Storage limits vary by browser: Chrome allows up to 60% of available disk space for temporary storage (with a per-origin cap around 2% of total disk), and can grant more for persistent storage. Firefox allows up to 50% of free disk space with a per-origin cap of about 2 GB for temporary storage; persistent storage can request more via user prompt. Safari imposes a stricter limit — typically around 1 GB per origin, after which the browser prompts the user. Edge follows Chrome-like behavior. On mobile devices, limits are generally lower due to limited storage capacity. These limits are not fixed and may change based on device conditions.

When an origin exceeds its storage quota, the browser will throw a QuotaExceededError for any further write attempts. For temporary storage, the browser may also proactively evict data from least-recently-used origins to free up space. If your application relies heavily on local storage (e.g., offline-first PWAs), it's critical to monitor quota usage, implement graceful error handling for write failures, and request persistent storage to reduce eviction risk. Regularly cleaning up stale caches and unused IndexedDB records helps maintain healthy storage levels.

You cannot directly increase the quota, but you can: (1) Request persistent storage via navigator.storage.persist() — this prevents eviction and may increase your effective limit. (2) Free up disk space on the device — browsers calculate quotas based on available disk space, so more free space means a larger quota. (3) Install your site as a PWA — installed Progressive Web Apps often receive higher storage privileges. (4) Clean up old data — removing unused IndexedDB databases, cache entries, and localStorage items reduces your usage, giving you more room within the existing quota.

IndexedDB shares the same quota-managed storage pool as Cache API and Service Workers. There is no separate IndexedDB-specific limit — it is constrained by the overall origin quota returned by navigator.storage.estimate(). In Chrome, this can be tens or even hundreds of gigabytes depending on free disk space. In Safari, the combined limit is around 1 GB. Firefox caps per-origin temporary storage at approximately 2 GB. IndexedDB is the preferred API for storing large amounts of structured data in the browser.

localStorage typically has a separate limit of 5 MB to 10 MB per origin, independent of the quota-managed storage pool. This limit is not reported by navigator.storage.estimate(). Exceeding it throws a QuotaExceededError. Unlike IndexedDB, localStorage is synchronous and stores only strings, making it suitable for small amounts of simple data like user preferences or session tokens. For larger or structured data, IndexedDB is recommended as it offers better performance, async operations, and shares the larger quota-managed pool.

Yes. In incognito/private browsing mode, storage APIs (localStorage, IndexedDB, Cache API) may still function but all data is cleared when the session ends. The quota in private mode may also be more restricted. In Chrome's incognito mode, navigator.storage.estimate() typically reports a much smaller quota. Some browsers (like Safari) severely limit or disable persistent storage in private mode. Always check storage availability and quota in your target browsing context to ensure your app behaves correctly.

You can clear storage manually through browser settings (usually under Privacy & Security → Site Settings → Storage). To clear storage programmatically: use localStorage.clear() for localStorage, indexedDB.deleteDatabase() for IndexedDB databases, caches.delete() for specific cache entries or caches.keys().then(keys => keys.forEach(k => caches.delete(k))) to clear all caches. The Cache Storage API's caches.delete() method removes Service Worker caches. For a complete wipe, browsers offer "Clear site data" options in developer tools (Application tab in Chrome DevTools).

Storage quotas are dynamic and recalculated by the browser based on several factors: available disk space on the device, overall system storage pressure, number of origins consuming storage, and browser-specific heuristics. When your device's free disk space decreases, the quota for all origins may shrink. Conversely, freeing up disk space can increase quotas. This is why navigator.storage.estimate() may return different quota values at different times. For critical applications, request persistent storage and regularly monitor usage with this tool.

This tool runs entirely in your browser using the StorageManager API. All data displayed is retrieved locally via navigator.storage.estimate() and direct inspection of available storage APIs. No data is ever sent to any server — the tool operates 100% client-side. The accuracy depends on the browser's implementation of the StorageManager API, which provides estimates that may have slight delays in reflecting real-time changes. For the most accurate reading, click "Refresh Data" after performing storage operations. The localStorage estimation uses UTF-8 byte calculation via the Blob API for reasonable accuracy.