About IdxBeaver
What is IdxBeaver?
IdxBeaver is a Chrome DevTools extension that turns the Application panel into a real database client for browser storage. You get a dense data grid, MongoDB-style queries with index-aware planning, a row inspector, schema inference, and import/export across JSON, NDJSON, CSV, SQL, and ZIP — for IndexedDB, LocalStorage, SessionStorage, Cookies, and Cache Storage.Which browsers does it support?
Any Chromium-based browser on version 120 or newer with Manifest V3 support — Chrome, Edge, Brave, Arc, and Opera all work. Firefox and Safari are not currently supported because their devtools extension APIs differ.Where do I install it?
From the Chrome Web Store. If you prefer to load it unpacked, every release ships a .zip on GitHub Releases.
Working with IndexedDB
How do I view IndexedDB data in Chrome?
Open DevTools (F12), then either use Chrome’s built-in Application panel → Storage → IndexedDB, or open the IdxBeaver panel for a database-client view. IdxBeaver lists every database and object store for the origin — including those inside iframes — and renders records in a sortable, filterable grid instead of a collapsed tree you have to click through row by row.Can I edit IndexedDB values directly?
Yes. Chrome’s Application panel is read-only for keys and values — editing there means writing console code against the raw IndexedDB API. IdxBeaver lets you edit cells inline in the grid or field-by-field in the row inspector, with type indicators, NULL handling, and undo/redo for every write.How do I export IndexedDB data to JSON or CSV?
Select a store and export it as JSON, NDJSON, CSV, SQLINSERTstatements, or a ZIP snapshot. Exports round-trip non-JSON types that a naiveJSON.stringifywould destroy —Date,BigInt,Map,Set,Blob,ArrayBuffer, and circular references. The same formats import back in.How do I clear or delete an IndexedDB database?
IdxBeaver can clear an object store or delete a whole database from the panel, without reloading the page. Because deletes are destructive and IndexedDB has no built-in undo, take a snapshot first — you can restore or diff against it afterwards, which is also the fastest way to verify a schema migration did what you expected.Does it work with Dexie, idb, PouchDB, and other wrappers?
Yes. Those libraries all store data in plain IndexedDB, so IdxBeaver reads them like any other database — no adapter needed. Schema inference samples rows from a store and can emit the inferred shape as TypeScript types or a Dexie schema definition, which is useful when you are retrofitting types onto a store that grew organically.
How it compares
How is IdxBeaver different from Chrome's built-in Application panel?
Chrome’s panel can list databases and dump records, but it has no filtering, no schema awareness, no bulk edits, no query history, and no exports that survive a refresh. IdxBeaver gives you all of that plus a query language, multi-tab editor, undo/redo for grid edits, and a Structure view that shows the inferred schema for each store. There’s a full breakdown on the comparison page.Can I write SQL queries?
IdxBeaver ships a MongoDB-style JSON query language with$eq,$gte,$in, compound filters, projections, sorts, and limits. The query planner uses an IDB index when one matches, with an in-memory fallback for compound operators. Plain SQL is on the roadmap.Does it support multiple frames?
Yes. IndexedDB is partitioned per frame origin. IdxBeaver scans every scriptable frame on the page in parallel and merges the results, so iframe-heavy apps surface their full storage footprint instead of just the top frame.
Privacy & licensing
Does IdxBeaver send my data anywhere?
No. IdxBeaver runs entirely in your browser. There is no telemetry, no auth, no servers — and no account to create. Inspected storage is read on demand only on the page you have DevTools open against. See the privacy policy for the full list.Is it free? What's the license?
Free, and MIT-licensed. The full source is on GitHub — fork it, audit it, run a build of your own.Where can I report bugs or request features?
Open an issue on GitHub. Reproductions with the affected origin and store name help most.