RxDB – A serverless real-time database for the web

RxDB is a real-time database based on JavaScrip. The RxDB is developed for browsers, NodeJS, Electron, Cordova, React-Native, and any other JavaScript runtime environment.

In other words, the RxDB is a Reactive, serverless, client-side, offline-first database in javascript.

More features about rxdb:

💻📱 Multiplatform support for browsers, nodejs, electron, cordova, react-native and every other javascript-runtime
📨 Reactive data-handling based on RxJS
🚣 Offline first let your app still work when the users has no internet
🔄 Replication between client and server-data, compatible with pouchdbPouchDB, couchdbCouchDB and cloudantIBM Cloudant
📄 Schema-based with the easy-to-learn standard of json-schema
🍊 Mango-Query exactly like you know from mongoDB and mongoose
🔐 Encryption of single data-fields to protect your users data
📤📥 Import/Export of the database-state (json), awesome for coding with TDD
📡 Multi-Window to synchronise data between different browser-windows or nodejs-processes
💅 ORM-capabilities to easily handle data-code-relations and customize functions of documents and collections

The most important point is rxdb supporting many platforms, such as:

  • Chrome Firefox Safari Edge Internet Explorer 11 Browsers
  • NodeJS NodeJS
  • electron Electron
  • react-native React-Native
  • cordova Cordova/Phonegap
  • nativescript Nativescript

RxDB Reactive, serverless, client-side, offline-first database in javascript

Quick to use RxDB:

install npm

To install the latest release of rxdb and its dependencies and save it to your package.json, run:

npm i rxdb --save


You also need to install the peer-dependency rxjs if you not have installed it before.

npm i rxjs --save


RxDB is coded with es8 and transpiled to es5. This means you have to install polyfills) to support older browsers. For example you can use the babel-polyfills with:

npm i babel-polyfill --save


If you need the latest develop-state of RxDB, add it as git-dependency into your package.json.

  "dependencies": {
      "rxdb": "git+https://[email protected]/pubkey/rxdb.git#commitHash"

Replace commitHash with the hash of the latest build-commit.


To import rxdb, add this to your javascript file:

// es6
import RxDB from 'rxdb';

// es5
var RxDB = require('rxdb');

If you have not included es8-polyfills, you also have to import babel-polyfill.

// es6
import 'babel-polyfill';

// es5