v144 · storage · demo
Schema Inspector
Enumerate every IDB database on this origin, walk its object stores, and read out keyPaths, autoIncrement flags, index definitions, and live record counts — all via the standard indexedDB API, unchanged by the SQLite backend switch.
indexedDB: checking…
databases(): checking…
click Refresh to enumerate databases on this origin.
Chrome 144 — SQLite in-memory backend
Starting in Chrome 144, incognito windows and memory-constrained contexts (e.g. service workers under pressure) run IndexedDB on an in-memory SQLite backend instead of LevelDB. The web-facing API is identical — this inspector works the same way regardless of which storage engine is underneath. You are looking at the same IDBDatabase, IDBObjectStore, and IDBIndex objects either way.
the API surface
// 1. List all databases on this origin (Chrome 71+, not all browsers)
const dbs = await indexedDB.databases();
// → [{ name: "my-app", version: 3 }, ...]
// 2. Open one (read-only inspection — no version bump)
const req = indexedDB.open(name, version);
req.onsuccess = e => {
const db = e.target.result;
for (const storeName of db.objectStoreNames) {
const tx = db.transaction(storeName, 'readonly');
const store = tx.objectStore(storeName);
console.log(store.keyPath, store.autoIncrement);
for (const idxName of store.indexNames) {
const idx = store.index(idxName);
console.log(idx.name, idx.keyPath, idx.unique, idx.multiEntry);
}
store.count().onsuccess = e => console.log('records:', e.target.result);
}
};