docs/sem/expo-database/index.html
RxDB is a NoSQL database for JavaScript that runs directly in your app. With a local-first design, it delivers zero-latency queries even offline, and syncs seamlessly with any backend.
All JavaScript Runtimes Supported
Watch Video Get Started For Free
Use RxDB with
these Frameworks
RxDB's easy-to-use Sync Engine powers realtime synchronization between Expo clients and servers. Either use one of our prebuild replication plugins...
[ RxServer
](/replication-server.html)[ GraphQL
](/replication-graphql.html)[ Firebase
](/replication-firestore.html)[ Supabase
](/replication-supabase.html)[ MongoDB
](/replication-mongodb.html)[ NATS
](/replication-nats.html)[ HTTP
](/replication-http.html)[ CouchDB
](/replication-couchdb.html)[ WebRTC (P2P)
](/replication-webrtc.html)[ appwrite
](/replication-appwrite.html)[ Google Drive
](/replication-google-drive.html)[ Microsoft OneDrive
](/replication-microsoft-onedrive.html)
OR
...sync with your custom server by implementing only three simple endpoints.
[
Open Source
GitHub
stars
22,869 ▲
](/code/)
RxDB adopts the local-first approach by storing data locally on the Expo client and managing continuous synchronization. You can even run your app entirely without a backend.
Reduces backend load and scales better
[
Official Partner
MongoDB
](https://www.mongodb.com/company/blog/innovation/from-local-global-scalable-edge-apps-rxdb)
04:28
The Easiest Way to Store Data
03:45
This solved a problem I've had in Angular for years
14:23
Say goodbye to REST APIs with RxDB
00:52
Build REAL TIME Applications easily 👩💻
34:17
Nuxt Nation 2024: Ben Hong - Embracing Local-First Apps with Nuxt
04:28
The Easiest Way to Store Data
03:45
This solved a problem I've had in Angular for years
14:23
Say goodbye to REST APIs with RxDB
00:52
Build REAL TIME Applications easily 👩💻
34:17
Nuxt Nation 2024: Ben Hong - Embracing Local-First Apps with Nuxt
04:28
The Easiest Way to Store Data
03:45
This solved a problem I've had in Angular for years
14:23
Say goodbye to REST APIs with RxDB
00:52
Build REAL TIME Applications easily 👩💻
34:17
Nuxt Nation 2024: Ben Hong - Embracing Local-First Apps with Nuxt
[
Chat on
Discord
members
1,321 ▲
](/chat/)
[
Logging
](/logger.html)[
Replication
](/replication.html)[
ORM
](/orm.html)[
Conflict Handling
](/transactions-conflicts-revisions.html)[
Backup
](/backup.html)[
Encryption
](/encryption.html)[
Middleware
](/middleware.html)[
Server
](/rx-server.html)[
Compression
](/key-compression.html)[
Signals
](/reactivity.html)[
Storages
](/rx-storage.html)[
Local Documents
](/rx-local-document.html)[
Schema Validation
](/schema-validation.html)[
Attachments
](/rx-attachment.html)[
State
](/rx-state.html)[
Migration
](/migration-schema.html)[
CRDT
](/crdt.html)[
Population
](/population.html)[
WebMCP
](/webmcp.html)
[
Follow on
followers
3,039 ▲
](https://twitter.com/intent/user?screen_name=rxdbjs)
We use RxDB because it works across multiple platforms and we need to store of a great deal of data, some users have tens of thousands of documents! RxDB was the only cross-platform, offline-first solution with good enough performance to meet our needs.
Readwise (USA)
We use RxDB for our offline-first inspection software. It ensures accurate data even under poor connectivity, while its single interface for multiple databases streamlines development. RxDB's flexibility also supports easy expansion to more platforms and environments.
SafeEx (Denmark)
We use RxDB in our global offline-first app for technicians. Its robust features and total control ensure reliable performance, even with poor connectivity, resulting in a seamless maintenance solution.
WebWare (Italy)
We rely on RxDB to manage all our data in one place. Our custom store became unwieldy, so we switched to RxDB for schema migrations, real-time replication, conflict resolution, and reactive programming. Its push and pull handlers also integrate smoothly with our existing APIs.
myAgro (Africa)
We provide a mobile app that is used by people in the field to fill in valuable information like inspections, surveys and audits. Our users don't always have access to the internet, building from an Offline-first approach with RxDB allows us to have the data integrity we need without being online.
MoreApp (Germany)
We use RxDB to create applications capable of being used in the most remote areas where Internet access is really a challenge.
ALTGRAS (Guinea)
We use RxDB to provide an offline first, cross platform point of sale system. With RxDB we could create a web-, desktop- and mobile app using the same code base.
WooCommerce POS (Australia)
RxDB is a main component in building offline-ready multichannel apps. It has become our default stack for this kind of apps.
atroo GmbH (Germany)
With RxDB we have built an offline capable Progressive Web Application that is used by our borer operators to report on conditions at the mineface.
Nutrien (Canada)
We use RxDB because it works across multiple platforms and we need to store of a great deal of data, some users have tens of thousands of documents! RxDB was the only cross-platform, offline-first solution with good enough performance to meet our needs.
Readwise (USA)
We use RxDB for our offline-first inspection software. It ensures accurate data even under poor connectivity, while its single interface for multiple databases streamlines development. RxDB's flexibility also supports easy expansion to more platforms and environments.
SafeEx (Denmark)
We use RxDB in our global offline-first app for technicians. Its robust features and total control ensure reliable performance, even with poor connectivity, resulting in a seamless maintenance solution.
WebWare (Italy)
We rely on RxDB to manage all our data in one place. Our custom store became unwieldy, so we switched to RxDB for schema migrations, real-time replication, conflict resolution, and reactive programming. Its push and pull handlers also integrate smoothly with our existing APIs.
myAgro (Africa)
We provide a mobile app that is used by people in the field to fill in valuable information like inspections, surveys and audits. Our users don't always have access to the internet, building from an Offline-first approach with RxDB allows us to have the data integrity we need without being online.
MoreApp (Germany)
We use RxDB to create applications capable of being used in the most remote areas where Internet access is really a challenge.
ALTGRAS (Guinea)
We use RxDB to provide an offline first, cross platform point of sale system. With RxDB we could create a web-, desktop- and mobile app using the same code base.
WooCommerce POS (Australia)
RxDB is a main component in building offline-ready multichannel apps. It has become our default stack for this kind of apps.
atroo GmbH (Germany)
With RxDB we have built an offline capable Progressive Web Application that is used by our borer operators to report on conditions at the mineface.
Nutrien (Canada)
We use RxDB because it works across multiple platforms and we need to store of a great deal of data, some users have tens of thousands of documents! RxDB was the only cross-platform, offline-first solution with good enough performance to meet our needs.
Readwise (USA)
We use RxDB for our offline-first inspection software. It ensures accurate data even under poor connectivity, while its single interface for multiple databases streamlines development. RxDB's flexibility also supports easy expansion to more platforms and environments.
SafeEx (Denmark)
We use RxDB in our global offline-first app for technicians. Its robust features and total control ensure reliable performance, even with poor connectivity, resulting in a seamless maintenance solution.
WebWare (Italy)
We rely on RxDB to manage all our data in one place. Our custom store became unwieldy, so we switched to RxDB for schema migrations, real-time replication, conflict resolution, and reactive programming. Its push and pull handlers also integrate smoothly with our existing APIs.
myAgro (Africa)
We provide a mobile app that is used by people in the field to fill in valuable information like inspections, surveys and audits. Our users don't always have access to the internet, building from an Offline-first approach with RxDB allows us to have the data integrity we need without being online.
MoreApp (Germany)
We use RxDB to create applications capable of being used in the most remote areas where Internet access is really a challenge.
ALTGRAS (Guinea)
We use RxDB to provide an offline first, cross platform point of sale system. With RxDB we could create a web-, desktop- and mobile app using the same code base.
WooCommerce POS (Australia)
RxDB is a main component in building offline-ready multichannel apps. It has become our default stack for this kind of apps.
atroo GmbH (Germany)
With RxDB we have built an offline capable Progressive Web Application that is used by our borer operators to report on conditions at the mineface.
Nutrien (Canada)
[
Official Partner
Supabase
](https://supabase.com/partners/integrations/rxdb)
Schema
Storages
Queries
Reactivity
TypeScript
Business Model
RxDB uses JSON Schema, a format widely recognized by developers through tools like OpenAPI or Swagger. Because JSON Schema is so well-established, it integrates seamlessly with existing validators, editors, and development tooling, making schema design both simple and highly flexible.
A minimal RxDB schema might define fields, data types, and indexes in a fully declarative way. For example:
const heroSchema = {
title: 'hero schema',
version: 0,
primaryKey: 'id',
type: 'object',
properties: {
id: {
type: 'string',
maxLength: 100
},
name: {
type: 'string'
},
power: {
type: 'string'
},
age: {
type: 'number'
}
},
required: ['id', 'name']
};
[
Quickstart
](/quickstart.html)[
Subscribe to the Newsletter
](/newsletter)[
Join theChat
](/chat/)[
GetPremium
](/premium/)[
Follow onTwitter
](https://twitter.com/intent/user?screen_name=rxdbjs)[
Get theCode
](/code/)
[
Discover how local-first transforms web apps, boosts offline resilience, and why instant user feedback is becoming the new normal.
](/articles/local-first-future.html)
[
RxDB 17 introduces improved reactivity APIs, better debugging, breaking storage fixes, and multiple plugins graduating from beta.
](/releases/17.0.0.html)
[
Compare LocalStorage, IndexedDB, Cookies, OPFS, and WASM-SQLite for web storage, performance, limits, and best practices for modern web apps.
](/articles/localstorage-indexeddb-cookies-opfs-sqlite-wasm.html)
[
Learn the unique benefits and pitfalls of each real-time tech. Make informed decisions on WebSockets, SSE, Polling, WebRTC, and WebTransport.
](/articles/websockets-sse-polling-webrtc-webtransport.html)
[
Create a blazing-fast vector database in JavaScript. Leverage RxDB and transformers.js for instant, offline semantic search - no servers required!
](/articles/javascript-vector-database.html)
[
Discover how local-first transforms web apps, boosts offline resilience, and why instant user feedback is becoming the new normal.
](/articles/local-first-future.html)
[
RxDB 17 introduces improved reactivity APIs, better debugging, breaking storage fixes, and multiple plugins graduating from beta.
](/releases/17.0.0.html)
[
Compare LocalStorage, IndexedDB, Cookies, OPFS, and WASM-SQLite for web storage, performance, limits, and best practices for modern web apps.
](/articles/localstorage-indexeddb-cookies-opfs-sqlite-wasm.html)
[
Learn the unique benefits and pitfalls of each real-time tech. Make informed decisions on WebSockets, SSE, Polling, WebRTC, and WebTransport.
](/articles/websockets-sse-polling-webrtc-webtransport.html)
[
Create a blazing-fast vector database in JavaScript. Leverage RxDB and transformers.js for instant, offline semantic search - no servers required!
](/articles/javascript-vector-database.html)
[
Discover how local-first transforms web apps, boosts offline resilience, and why instant user feedback is becoming the new normal.
](/articles/local-first-future.html)
[
RxDB 17 introduces improved reactivity APIs, better debugging, breaking storage fixes, and multiple plugins graduating from beta.
](/releases/17.0.0.html)
[
Compare LocalStorage, IndexedDB, Cookies, OPFS, and WASM-SQLite for web storage, performance, limits, and best practices for modern web apps.
](/articles/localstorage-indexeddb-cookies-opfs-sqlite-wasm.html)
[
Learn the unique benefits and pitfalls of each real-time tech. Make informed decisions on WebSockets, SSE, Polling, WebRTC, and WebTransport.
](/articles/websockets-sse-polling-webrtc-webtransport.html)
[
Create a blazing-fast vector database in JavaScript. Leverage RxDB and transformers.js for instant, offline semantic search - no servers required!
](/articles/javascript-vector-database.html)