On this page
Overview
Dexie.js is a JavaScript and TypeScript wrapper around the browser-standard IndexedDB API. Applications declare a database schema and use Table, Collection, and WhereClause APIs for inserts, queries, updates, deletes, and bulk operations, with optional framework integrations such as React live queries.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Key features
Declare an IndexedDB schema and work through table APIs
Create a database with new Dexie(), define primary keys and indexes with version().stores(), and perform CRUD operations through Promise-based Table and Collection APIs.
Sources: [2]
Use bulk operations and framework integrations for local data
Bulk APIs such as bulkAdd and bulkPut reduce per-record overhead, while React applications can use useLiveQuery to reflect IndexedDB changes in the UI. The README also links tutorials for Vue, Svelte, Angular, and vanilla JavaScript.
Sources: [2]
Best fit
Fits offline-first web applications and structured local caches
It is useful for PWAs, Electron, Capacitor, and browser applications that need searchable structured data stored locally through IndexedDB.
Sources: [2]
Before adoption
Browser storage policies and schema migrations still apply
Dexie.js wraps IndexedDB rather than replacing browser storage rules, so quotas, eviction, and browser-specific storage behavior remain relevant. Schema changes also require deliberate versioning and migration of existing data.
Sources: [2]
Official sources
- [1]dexie/Dexie.js repository(2026-09-30)
- [2]Dexie.js README(2026-09-30)
- [3]Dexie v4.4.6 release(2026-09-30)
- [4]Dexie.js Apache-2.0 license(2026-09-30)
Supplemental curator note
Dexie makes IndexedDB schema, queries, and bulk operations easier to manage than the raw API. With v4.4.6 as the current stable baseline, browser storage policies and schema migration still remain application responsibilities.
Try it in 3 steps
- 1
Install Dexie
Add Dexie to an existing web project using the npm command documented in the README.
npm install dexie - 2
Declare an IndexedDB schema
After importing Dexie from the package, define the database name, primary key, and indexes.
const db = new Dexie('FriendDatabase'); db.version(1).stores({ friends: '++id, age' }); - 3
Insert data and run a query
Use the Table API to insert one record and verify an indexed query.
await db.friends.add({ name: 'Alice', age: 21 }); const rows = await db.friends.where('age').below(30).toArray();
Growth
Growth trends · Last 30 days
14,615 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 8
- Open PRs
- 20
Development activity is still being collected.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- javascript
- indexeddb
- database
- offline-storage
- offline
- storage
- Stars
- 14,615
- Forks
- 712
- Watchers
- 114
- Open issues
- 576
- Contributors
- 101
- Owner type
- Organization
- Primary language
- TypeScript
- License
- Apache-2.0
- Repository last updated
- Sep 28, 2026
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- Signature Pad12,047 Stars
2 shared tag(s) · 1 shared category(s) · Same language
draw smooth signatures on HTML5 canvas and export PNG, JPEG, SVG, or point data
TypeScript - WXT10,555 Stars
2 shared tag(s) · 1 shared category(s) · Same language
build Chrome and Firefox extensions with file-based entrypoints and an HMR development workflow
TypeScript - Notion SDK for JavaScript5,669 Stars
2 shared tag(s) · 1 shared category(s) · Same language
Use typed Notion APIs for resources, agents, sessions, and webhooks
TypeScript - Cloudflare Workers SDK4,590 Stars
2 shared tag(s) · 1 shared category(s) · Same language
the monorepo for Wrangler, C3, Miniflare, and Workers developer tooling
TypeScript - Tolgee4,117 Stars
2 shared tag(s) · 1 shared category(s) · Same language
Bring real application context into translation management, AI, and MCP workflows
TypeScript - Prettier52,317 Stars
2 shared tag(s) · 1 shared category(s)
an opinionated formatter that parses code and reprints a consistent style
JavaScript
Report incorrect information
Tell us if any listing information is incorrect or outdated.