Dexie.js

Minimalistic wrapper for IndexedDB, the browser's built-in structured database. IndexedDB's native API is complex and verbose — Dexie provides a clean, Promise-based API over it. Supports complex queries (ranges, compound indexes, where clauses), reactive live queries (Dexie Cloud sync), and TypeScript. Used for offline-capable web apps, client-side data caching, and progressive web apps (PWAs).

Evaluated Mar 06, 2026 (0d ago) v3+
Homepage ↗ Repo ↗ Databases indexeddb browser offline client-side typescript reactive
⚙ Agent Friendliness
68
/ 100
Can an agent use this?
🔒 Security
87
/ 100
Is it safe for agents?
⚡ Reliability
83
/ 100
Does it work consistently?

Score Breakdown

⚙ Agent Friendliness

MCP Quality
--
Documentation
88
Error Messages
82
Auth Simplicity
100
Rate Limits
100

🔒 Security

TLS Enforcement
90
Auth Strength
90
Scope Granularity
85
Dep. Hygiene
85
Secret Handling
85

Browser-side storage — same-origin policy protects data. IndexedDB data is accessible to same-origin JavaScript — don't store sensitive secrets. Consider encryption for sensitive data.

⚡ Reliability

Uptime/SLA
85
Version Stability
85
Breaking Changes
82
Error Recovery
80
AF Security Reliability

Best When

You need a structured, queryable database in the browser for offline-capable web apps — Dexie makes IndexedDB usable without its complex native API.

Avoid When

You only need simple key-value storage (use localStorage or sessionStorage) or need server-side storage.

Use Cases

  • Cache large datasets in the browser for offline use or offline-first web applications
  • Store agent chat history, preferences, or local state in the browser that persists across page refreshes
  • Build PWAs that work without network by using IndexedDB as the primary local database via Dexie
  • Implement offline-capable data synchronization where changes are queued locally and synced when online
  • Replace localStorage with a structured database for complex browser-side data storage needs

Not For

  • Server-side data storage — IndexedDB and Dexie are browser-only
  • Cross-device data sync without additional backend — Dexie Cloud (paid) or custom sync needed
  • React Native or non-browser environments — use SQLite or realm for mobile native storage

Interface

REST API
No
GraphQL
No
gRPC
No
MCP Server
No
SDK
Yes
Webhooks
No

Authentication

Methods: none
OAuth: No Scopes: No

No authentication — local browser database. Dexie Cloud (sync addon) uses JWT auth.

Pricing

Model: open_source
Free tier: Yes
Requires CC: No

Core library is Apache 2.0 open source. Dexie Cloud (sync service) adds backend costs.

Agent Metadata

Pagination
cursor
Idempotent
Partial
Retry Guidance
Not documented

Known Gotchas

  • IndexedDB has per-origin storage quota — browsers may prompt user for permission when storing large data; handle quota exceeded errors gracefully
  • Schema upgrades (version bumps) must be forward-compatible — Dexie calls upgrade functions for each version; complex migrations must handle data transformation carefully
  • IndexedDB transactions expire if no request is made within a tick — never await unrelated Promises inside a transaction; use Dexie.transaction() wrapper
  • liveQuery() reactive queries run in a Dexie worker context — React state updates from liveQuery must go through appropriate state management (useState, Jotai, etc.)
  • Dexie is browser-only — SSR frameworks (Next.js, SvelteKit) require typeof window checks or dynamic imports to avoid server-side import failures
  • Compound indexes must be declared in the exact field order used in queries — index field order matters; wrong order causes queries to fall back to table scan

Alternatives

Full Evaluation Report

Detailed scoring breakdown, competitive positioning, security analysis, and improvement recommendations for Dexie.js.

$99

Scores are editorial opinions as of 2026-03-06.

5215
Packages Evaluated
26151
Need Evaluation
173
Need Re-evaluation
Community Powered