rxdb
RxDB is a local-first, reactive NoSQL database for JavaScript applications that stores data locally and synchronizes with your backend infrastructure without vendor lock-in. It runs on any JavaScript runtime (browsers, Node.js, React Native, Electron) and supports flexible replication protocols including GraphQL, WebSocket, CouchDB, and others.
Key facts
Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.
| Field | Value |
|---|---|
| Repository | pubkey/rxdb |
| Owner | pubkey |
| Primary language | TypeScript |
| License | Apache-2.0 — OSI-approved |
| Stars | 23.3k |
| Forks | 1.2k |
| Open issues | 13 |
| Latest release | 17.3.0 (2026-05-28) |
| Last updated | 2026-07-08 |
| Source | https://github.com/pubkey/rxdb |
What rxdb is
RxDB provides a reactive query API with subscription-based change notifications, pluggable storage backends (IndexedDB, SQLite, LocalStorage, in-memory, FoundationDB, DenoKV), and built-in replication/sync primitives via HTTP endpoints or production plugins. Written in TypeScript with schema validation, conflict handling, CRDT support, and encryption capabilities.
Get the rxdb source
Clone the repository and explore it locally.
git clone https://github.com/pubkey/rxdb.gitcd rxdb# follow the project's README for install & configurationNeed it deployed, integrated, or customized instead? DEV.co ships production installs.
Best use cases
Implementation considerations
- Schema design and conflict resolution strategy must be defined upfront; RxDB supports CRDT and custom conflict handling but requires architectural planning.
- Storage backend selection (IndexedDB vs. SQLite vs. in-memory) depends on runtime and persistence requirements; migration between backends requires code changes.
- Replication protocol implementation requires three HTTP endpoints or use of production plugins (GraphQL, CouchDB, WebSocket, WebRTC, Supabase, Firestore, NATS, Google Drive); protocol choice affects latency and complexity.
- Encryption is available but must be explicitly enabled and key management must be handled by the application layer.
- TypeScript typing is supported but consumer code must ensure schema alignment with replication backend schemas.
When to avoid it — and what to weigh
- Large-scale centralized data warehousing — RxDB is optimized for client-side and edge data. If you need petabyte-scale analytics or centralized data lakes, use dedicated data warehouses instead.
- Highly constrained storage environments — Some backends (e.g., FoundationDB, SQLite) require explicit configuration and may not work in all lightweight embedded systems without careful storage layer selection.
- Complex multi-tenant ACID transactions across distributed nodes — RxDB's replication model is eventual-consistency-based. If you need strict ACID guarantees with cross-shard transactions, consider traditional RDBMS solutions.
- Strongly regulated environments without evaluated security audits — Security posture and compliance certifications are not clearly stated in available data. High-security or regulated industries should conduct independent security review.
License & commercial use
Licensed under Apache-2.0 (Apache License 2.0), a permissive OSI-approved license.
Apache-2.0 permits commercial use, modification, and distribution. No vendor lock-in is enforced. However, commercial support, liability, and warranty terms are not stated in the license alone; consult the project's commercial terms if enterprise support is required.
DEV.co evaluation signals
Editorial assessment — not user reviews. Directional, with an explicit confidence level.
| Signal | Assessment |
|---|---|
| Maintenance | Active |
| Documentation | Strong |
| License clarity | Clear |
| Deployment complexity | Moderate |
| DEV.co fit | Strong |
| Assessment confidence | High |
Encryption support is documented and available, but independent security audit results and threat modeling are not referenced in provided data. Key management responsibility falls on application code. Transport security (replication endpoints) depends on backend implementation. No claims of penetration testing or formal security certification are evident. Recommend independent security review for high-security use cases.
Alternatives to consider
PouchDB
Similar offline-first, CouchDB-compatible replication. Older, simpler API; less reactive/subscription-based; smaller ecosystem. Good alternative if CouchDB replication is paramount and reactivity is secondary.
WatermelonDB
Specialized for React Native with optional offline-first. Simpler API optimized for React patterns; less flexible storage backends; narrower runtime support. Choose if React Native mobile is sole target.
Realm
Cross-platform object database for mobile and web; proprietary with free tier. Different replication model and commercial support structure; broader native platform support. Evaluate if platform lock-in is acceptable.
Build on rxdb with DEV.co software developers
RxDB enables seamless offline functionality and real-time collaboration across all JavaScript runtimes. Evaluate replication architecture and backend integration patterns for your use case.
Talk to DEV.coRelated open-source tools
Surfaced by semantic similarity across the DEV.co open-source index.
Related on DEV.co
Explore the category and the services that help you build with it.
rxdb FAQ
Does RxDB require a specific backend database?
Can I use RxDB on React Native and web with the same code?
How does RxDB handle conflicts when clients modify data offline?
Is there commercial support available?
Software development & web development with DEV.co
DEV.co helps companies turn open-source tools like rxdb into production software. Our software development services cover the full lifecycle — architecture, web development, integration, and maintenance — delivered by software developers and web developers who ship. Engage our software development agency to implement or customize it for your open-source databases stack.
Ready to Build Offline-First Apps?
RxDB enables seamless offline functionality and real-time collaboration across all JavaScript runtimes. Evaluate replication architecture and backend integration patterns for your use case.