DEV.co
Open-Source Databases · pubkey

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.

Source: GitHub — github.com/pubkey/rxdb
23.3k
GitHub stars
1.2k
Forks
TypeScript
Primary language
Apache-2.0
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositorypubkey/rxdb
Ownerpubkey
Primary languageTypeScript
LicenseApache-2.0 — OSI-approved
Stars23.3k
Forks1.2k
Open issues13
Latest release17.3.0 (2026-05-28)
Last updated2026-07-08
Sourcehttps://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.

Quickstart

Get the rxdb source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/pubkey/rxdb.gitcd rxdb# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Offline-first mobile and web applications

Applications requiring reliable data availability when offline, with automatic sync when connectivity returns. Common for field workers, logistics, healthcare, and collaborative tools.

Real-time collaborative applications

Multiplayer editing tools, shared workspaces, and live dashboards where multiple clients subscribe to query changes and receive updates via reactive streams.

Cross-platform JavaScript applications

Code reuse across browser, Node.js, React Native, Electron, and Capacitor by swapping storage backends while keeping business logic identical.

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.

SignalAssessment
MaintenanceActive
DocumentationStrong
License clarityClear
Deployment complexityModerate
DEV.co fitStrong
Assessment confidenceHigh
Security considerations

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.

Software development agency

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.co

Related 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?
No. RxDB is backend-agnostic and syncs via custom HTTP endpoints or production plugins (GraphQL, CouchDB, WebSocket, WebRTC, Supabase, Firestore, NATS, Google Drive). You control the backend.
Can I use RxDB on React Native and web with the same code?
Yes. By swapping the storage backend (e.g., IndexedDB for web, SQLite for React Native), the same business logic can run on both platforms.
How does RxDB handle conflicts when clients modify data offline?
RxDB supports CRDT, custom conflict handlers, and revision-based conflict resolution. Strategy must be chosen at schema design time.
Is there commercial support available?
Not clearly stated in provided data. The project lists Discord, Twitter, LinkedIn, and newsletter; recommend contacting the maintainer (pubkey) for support terms.

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.