Error Codes Wiki

IndexedDB QuotaExceededError — Browser Storage Limit Reached

Warninggeneral

Overview

Fix IndexedDB QuotaExceededError when web applications exceed the browser's storage quota for client-side data, causing data save failures.

Key Details

  • IndexedDB is a browser API for storing large amounts of structured data client-side
  • Storage quota is shared between IndexedDB, Cache API, localStorage, and Service Worker cache
  • Chrome allows up to 80% of total disk space per origin (but may evict data when disk is full)
  • Firefox limits to 50% of disk per origin in best-effort mode; persistent storage has higher limits
  • QuotaExceededError fires when a write operation would exceed the storage quota

Common Causes

  • Application storing too much data (large files, media, cached responses) in IndexedDB
  • Old data not being cleaned up — entries accumulate without deletion
  • Device disk space is very low, reducing the available quota for all origins
  • Multiple features (IndexedDB, Cache API, localStorage) of the same app competing for shared quota

Steps

  1. 1Check storage usage: navigator.storage.estimate() returns used and quota in bytes
  2. 2Implement data cleanup: delete old entries, implement LRU (Least Recently Used) eviction
  3. 3Request persistent storage: navigator.storage.persist() prevents browser from evicting data
  4. 4Compress data before storing: use CompressionStream API or a library to reduce storage size
  5. 5Move large binary data to the Cache API instead of IndexedDB for better storage efficiency

Tags

indexeddbquotastorageexceededclient-side

Related Items

More in General

Frequently Asked Questions

Chrome: up to 80% of disk space per origin. Firefox: 50% of disk for best-effort storage, more for persistent storage. Safari: 1GB initially, prompts the user for more. The effective limit depends on available disk space.