RxDB is a local-first, NoSQL-database for JavaScript Applications. It allows you to build Offline-First applications that feel real-time and responsive.
Local-First & Offline-First
RxDB stores your data locally on the client device (Browser, React-Native, Electron, Node.js). This ensures your application loads instantly and works even when there is no internet connection.
Real-Time Replication
RxDB replicates data between your clients and your backend. It supports various replication protocols including GraphQL, CouchDB, and REST. You can also build custom replication plugins.
Reactive Queries
RxDB is built on the concept of Reactive Connectors. You can subscribe to query results, and your UI will automatically update whenever the data changes—whether that change comes from a local write or a replication event.
Cross-Tab Synchronization
RxDB automatically syncs data between browser tabs or windows. If a user modifies data in one tab, the other tabs update instantly without a page reload.
Schema Validation & Migration
Data is validated against a JSON-Schema before it is written to the database. RxDB also handles schema migrations locally when you update your data structure.
Encryption
Unlocking premium security, RxDB allows you to encrypt individual fields or entire documents on the client side, ensuring user data remains private even if the local storage is accessed.
Modular & Extensible
RxDB is plugin-based. You only bundle the modules you need, keeping your build size small. It supports multiple underlying storage engines like IndexedDB, SQLite, In-Memory, and more.
RxDB is ideal for applications where user experience and data reliability are paramount. It shines in: