How-To Guide

Enable IndexedDB in Chrome, Firefox, Edge, and Safari

IndexedDB is blocked or unavailable

Updated: June 29, 2026By Noah KimReviewed: June 29, 2026 by Dana Brooks

Validate each fix by re-running Storage Test.

Browser window with database stack and sync arrows indicating IndexedDB enabled

Features That Require This

  • →Gmail, Outlook offline mode
  • →Figma, Canva, and design tools
  • →VS Code web version
  • →Music/video streaming offline downloads
  • →Complex games with large save files
  • →Offline-first productivity apps

Direct answer

IndexedDB usually has no separate "enable" switch. To enable IndexedDB, allow the site to use on-device site data, keep JavaScript enabled, test in a normal browser window, and make sure storage quota is not full. If only one app fails, clear that app's IndexedDB database or site data and let it rebuild.

Start with the Storage Test. It runs real browser storage checks for cookies, localStorage, sessionStorage, and IndexedDB in the current tab. If cookies also fail, fix Enable Cookies first because browsers often treat cookies and site storage as one permission bucket.

IndexedDB storage stack showing site data, quota, browser profile, and app database layers

IndexedDB sits inside the browser's site-data stack, so a cookie block, private profile, quota limit, or enterprise policy can break it even when the IndexedDB API exists.

When IndexedDB is the likely problem

IndexedDB powers large structured browser storage. It is used by offline mail, design tools, editors, PWAs, browser games, media caches, and apps that save drafts or local files.

Common failure signs:

  • Offline mode will not enable or immediately disables itself.
  • Drafts, designs, or game saves disappear after reload.
  • A PWA installs but never syncs enough data to work offline.
  • DevTools Console shows SecurityError, QuotaExceededError, UnknownError, or "database blocked" messages.
  • The Storage Test shows IndexedDB blocked while other browser features pass.

Enable IndexedDB in Chrome

Use this when Chrome says storage is blocked, an offline app fails to save, or the Storage Test marks IndexedDB as unavailable.

  1. Open chrome://settings/content/siteData.
  2. Select Allow sites to save data on your device.
  3. Open Settings > Privacy and security > Site settings > JavaScript and keep JavaScript allowed for the affected site.
  4. If the app runs inside an iframe, open chrome://settings/cookies and add a trusted exception under Sites allowed to use third-party cookies.
  5. Test in a normal window before testing Incognito. Incognito blocks third-party cookies by default and uses temporary storage.
  6. Reload the app and re-run the Storage Test.

For inspection, open DevTools with Ctrl+Shift+I or Command+Option+I, then go to Application > Storage > IndexedDB. Chrome DevTools can show databases for the current origin; third-party iframe databases may not appear in the top-level page's list.

Enable IndexedDB in Microsoft Edge

Edge follows Chromium storage behavior, but the settings labels differ.

  1. Go to Settings > Cookies and site permissions > Manage and delete cookies and site data.
  2. Turn on Allow sites to save and read cookie data.
  3. Go to Settings > Cookies and site permissions > JavaScript and allow JavaScript for the app.
  4. If a school, work, identity, or payment iframe is involved, add a scoped cookie/site-data exception for the embedded domain.
  5. Check edge://policy if the device is managed.

For database inspection, use DevTools > Application > Storage > IndexedDB, the same workflow as Chrome.

Enable IndexedDB in Firefox

Firefox normally allows IndexedDB in Standard privacy mode.

  1. Open Settings > Privacy & Security.
  2. Set Enhanced Tracking Protection to Standard while testing.
  3. Under Cookies and Site Data, make sure the affected domain is not blocked.
  4. If you changed advanced settings, open about:config and set dom.indexedDB.enabled to true.
  5. Restart Firefox after changing about:config, then re-run the Storage Test.

To inspect data, open Tools > Browser Tools > Storage Inspector, then expand IndexedDB for the site.

Enable IndexedDB in Safari and iOS browsers

Safari ties website storage closely to cookie and privacy controls.

  • Safari on Mac: open Safari > Settings > Advanced and deselect Block all cookies.
  • iPhone / iPad: open Settings > Apps > Safari > Advanced and turn off Block All Cookies.
  • Cross-site apps: if an embedded app fails, test once with Prevent cross-site tracking off, complete the workflow, then turn it back on.
  • Storage eviction: WebKit can evict best-effort site data when quota is exceeded, the device is under storage pressure, or the site has not been interacted with for some time. Open the app in a normal tab and interact with it before relying on offline data.

If the app is mission-critical, keep an export or cloud sync path. IndexedDB is reliable for browser app state, but it is still browser-managed storage, not a permanent backup.

Clear a corrupted IndexedDB database

Use this when one app fails but other sites pass the Storage Test.

  • Chrome / Edge: open DevTools > Application > IndexedDB, right-click the app database, choose Delete database, reload, and sign in again.
  • Firefox: open Storage Inspector, expand IndexedDB, select the database, and delete the affected entries or database.
  • Safari: use Safari > Settings > Privacy > Manage Website Data to remove the site's data if Web Inspector is not part of your normal workflow.
  • Any browser: if you cannot identify the database safely, clear only the affected site's data instead of clearing all browsing data.

This can remove offline drafts or local-only saves. Export data inside the app first when the app still opens.

Fix quota and disk-space failures

IndexedDB writes can fail when the origin quota, browser profile, or system disk is full.

  1. Free several GB on the system drive or mobile device.
  2. In Chrome or Edge, open DevTools > Application > Storage and check usage.
  3. Remove old site data for apps you no longer use.
  4. Reload the app and watch the Console for QuotaExceededError.

If you are supporting the app, this console snippet estimates current site storage where supported:

navigator.storage?.estimate?.().then(({ usage, quota }) => {
  console.log({ usage, quota });
});

For apps that store critical offline data, developers can request persistent storage with navigator.storage.persist(). Browsers still decide whether to grant it based on their own rules, user engagement, and platform policy.

Private mode, extensions, and cleanup tools

Private browsing is a bad baseline for IndexedDB troubleshooting. Browsers may reduce quotas, keep storage temporary, or delete it when the private session ends.

Check these blockers next:

  • Cookie cleanup tools that delete "site data" on tab close.
  • Privacy extensions that isolate storage per container or domain.
  • Brave Shields or aggressive tracking protection modes.
  • Firefox Multi-Account Containers or temporary-container extensions.
  • Browser settings that clear cookies and site data whenever all windows close.

Run the app once in a clean browser profile with no extensions. If it works there, re-enable extensions one at a time.

Embedded apps and third-party storage

IndexedDB is scoped to an origin. That protects users, but it means an app embedded on another site may get partitioned, blocked, or temporary storage depending on the browser.

Examples:

  • A document editor embedded in a school portal.
  • An SSO or payment provider inside an iframe.
  • A widget that saves local preferences on a different domain than the main site.

For users, the practical fix is a trusted site exception or opening the embedded service directly in a first-party tab. For site owners, review the Storage Access API and avoid designs that require every user to disable cross-site protection.

Managed device checks

Work and school devices can block storage even when the visible setting looks correct.

  • Chrome: open chrome://policy and look for cookie, site-data, or storage-related policies.
  • Edge: open edge://policy and check the same categories.
  • Firefox ESR: ask IT whether dom.indexedDB.enabled, cookie behavior, or storage permissions are controlled by policy.

Send IT the failing Storage Test result, browser version, app URL, and whether the same app works in a personal profile.

Figure callout: For a support handoff, capture the Storage Test result next to DevTools > Application > Storage. The pair shows whether IndexedDB can open at all and whether the app is near quota.

Verify the fix

  1. Run the Storage Test and confirm IndexedDB works.
  2. Reload the app and perform the failing action: enable offline mode, save a design, download a playlist, submit a draft, or reload a saved game.
  3. If it still fails, open DevTools Console and record the exact error name.
  4. If cookies or localStorage also fail, follow Enable Cookies and Fix Local Storage Blocked before blaming the app's database.

FAQ

Is there an IndexedDB on/off switch?
Usually no. Chrome, Edge, and Safari enable IndexedDB through site data, cookies, JavaScript, and privacy settings. Firefox also has the advanced dom.indexedDB.enabled preference.
Does blocking cookies break IndexedDB?
It can. Many browsers treat cookies, localStorage, IndexedDB, and other site data as one permission bucket, especially when all on-device site data is blocked or the app runs in an embedded third-party context.
Is IndexedDB safe to leave enabled?
Yes for normal browsing. IndexedDB is scoped by origin, so one site cannot read another site's database. The risk is app design: sensitive data should be encrypted or avoided, not left in browser storage indefinitely.

Test Your Browser Capabilities

Run a quick test to see which modern web features your browser supports.

⚡Run Capability Test