No Login Data Private Local Save

IDB‑Keyval Explorer - Online Simple Key‑Value Storage Viewer

8
0
0
0

IDB-Keyval Explorer

Simple key-value storage viewer powered by IndexedDB

0 keys 0 KB used Quota: -- keyval-store
No key-value pairs found

This database is empty. Add your first key-value pair to get started.

Loading...

Loading entries...

No matching keys

Try a different search term.

Page 1 of 1

Frequently Asked Questions

idb-keyval is a lightweight JavaScript library that wraps the browser's IndexedDB API into a simple key-value store interface. It provides familiar methods like get(key), set(key, value), del(key), and clear() β€” similar to localStorage but with asynchronous operations and much larger storage capacity. Under the hood, it uses a single IndexedDB database (default: keyval-store) with one object store (default: keyval). Values can be any structured-cloneable type: strings, numbers, objects, arrays, Dates, Blobs, and more.

Storage limits vary by browser and device. Most modern browsers use a dynamic quota system based on available disk space. Typically, an origin can store anywhere from 50 MB to several GB before the browser prompts for permission. Chrome allows up to ~60% of available disk space (shared across all storage APIs). Firefox uses a similar approach. You can check your current usage and quota via navigator.storage.estimate(). Compared to localStorage's hard 5–10 MB limit, IndexedDB offers significantly more room for data.

localStorage is synchronous, simple, and great for small amounts of string data (up to ~5 MB). It's ideal for settings, tokens, or lightweight preferences.
IndexedDB (and idb-keyval by extension) is asynchronous, supports structured data (objects, arrays, blobs), and offers much larger storage. It's better for caching API responses, storing user-generated content, offline data, and anything beyond a few megabytes. Use IndexedDB when you need scale; use localStorage for trivial key-value needs. Note that IndexedDB operations are non-blocking, so they won't freeze the UI.

Yes, IndexedDB data is persistent by default β€” it survives page reloads, tab closures, and browser restarts. However, it's not guaranteed permanent. Browsers may evict data under storage pressure (low disk space), especially for sites that haven't been visited recently. You can request persistent storage via navigator.storage.persist() to reduce eviction risk. Also note that clearing browser data/cache or using private/incognito mode will remove IndexedDB data.

You can export all key-value pairs as a JSON file using this explorer's Export button. The resulting file contains a flat JSON object mapping keys to their values. To restore, use the Import feature with the same JSON file. For programmatic backup, iterate over all entries using IndexedDB cursors or getAll(), serialize to JSON, and save the file. Regular exports are recommended for critical data since browser storage can be cleared unexpectedly.

IndexedDB is supported in all modern browsers: Chrome 23+, Firefox 10+, Safari 10.1+, Edge 12+, and Opera 15+. Mobile browsers (iOS Safari 10+, Android Chrome) also fully support it. The idb-keyval library works everywhere IndexedDB is available. For legacy browsers like IE, IndexedDB support is partial (IE 10+ with prefix), but idb-keyval may not be compatible. In 2024+, IndexedDB coverage exceeds 98% of global web users.

The core idb-keyval library is designed for a single database and store. However, you can create multiple isolated key-value stores by instantiating with different database names. This explorer supports switching between databases β€” simply type a different database name in the header input. Each database acts as a completely separate namespace. For advanced use cases with multiple object stores within one database, you'd need to use the IndexedDB API directly or a more full-featured wrapper.