WatermelonDB
activeby Nozbe · since 2018 · also known as Watermelon DB
Lazy-loading reactive database for React Native and React apps, built on SQLite.
Overview
WatermelonDB is an observable, lazily loaded database layer for React Native and web apps, built by Nozbe for their task manager. On mobile it stores data in SQLite through a native bridge (JSI on modern React Native), and on the web it falls back to LokiJS over IndexedDB. Records load only when a component needs them, so apps with tens of thousands of rows still start quickly. It ships a sync protocol (pull/push of changes since a timestamp) but leaves the server side to you. Releases have slowed since 0.28 in 2025.
Strengths & trade-offs
Strengths
- +Lazy loading keeps React Native app start-up fast with large local datasets
- +Observable queries re-render React components automatically
- +SQLite under the hood on iOS and Android, accessed via JSI
- +Simple, documented sync protocol that works with any backend
Trade-offs
- −You must implement the sync server endpoints and conflict policy yourself
- −Slow release cadence and a shrinking core maintainer pool
- −Web adapter relies on LokiJS, which is itself unmaintained
Great for
- +Offline-capable React Native productivity apps
- +Apps with large local lists that must render instantly
- +Custom sync to an existing REST backend
Think twice for
- −Teams wanting managed, turnkey sync
- −Web-first apps (the web adapter is the weak spot)
- −Server-side storage
Capabilities
Native or official first-party support · 4 of 25 tracked
Scale & consistency
- Comfortable data size
- Small · ≤ 100 GB
- Horizontal scaling
- None
- Multi-region
- No
- Transactions
- Limited ACID
- Consistency
- Eventual
- Schema
- Strict
- Architecture
- Embedded
- Query languages
- WatermelonDB Query API (Q)
Comfortable with tens of thousands of records per device thanks to lazy loading.
Deployment
Ecosystem
Alternatives to WatermelonDB
Sync engine that keeps on-device SQLite in sync with Postgres, MongoDB, MySQL or SQL Server.
watermelondb vs powersync →Reactive local-first NoSQL database for JavaScript with pluggable storage and replication.
watermelondb vs rxdb →Object-oriented mobile database whose MongoDB sync service is gone; the local engine survives as open source.
watermelondb vs realm →Fast on-device object database with built-in HNSW vector search and an optional commercial sync server.
watermelondb vs objectbox →Read-path sync engine that streams partial replicas of Postgres to clients over plain HTTP.
watermelondb vs electricsql →The in-process SQL engine that ships in every phone, browser and OS: one file, zero servers.
watermelondb vs sqlite →WatermelonDB FAQ
What is WatermelonDB?
WatermelonDB is a relational database by Nozbe, first released in 2018. WatermelonDB is an observable, lazily loaded database layer for React Native and web apps, built by Nozbe for their task manager. On mobile it stores data in SQLite through a native bridge (JSI on modern React Native), and on the web it falls back to LokiJS over IndexedDB. Records load only when a component needs them, so apps with tens of thousands of rows still start quickly. It ships a sync protocol (pull/push of changes since a timestamp) but leaves the server side to you. Releases have slowed since 0.28 in 2025.
Is WatermelonDB open source?
Yes. WatermelonDB is open source. License: MIT License.
Does WatermelonDB support ACID transactions?
Partly. WatermelonDB offers limited ACID guarantees (for example, single-record or single-partition transactions), with eventual consistency.
Does WatermelonDB scale horizontally?
WatermelonDB does not scale horizontally; it runs on a single node, so you scale it up rather than out. It is comfortable at small scale (≤ 100 GB).
How can I run WatermelonDB?
You can self-host it and embed it in your application.
What is WatermelonDB best for?
WatermelonDB is a strong fit for offline-capable React Native productivity apps, apps with large local lists that must render instantly and custom sync to an existing REST backend. Think twice for teams wanting managed, turnkey sync.
What are the best alternatives to WatermelonDB?
Common alternatives to WatermelonDB include PowerSync, RxDB, Realm (Atlas Device SDK), ObjectBox and ElectricSQL. The right choice depends on your workload, scale and hosting; WhichDB's smart match ranks them against your requirements.
How popular is WatermelonDB?
WatermelonDB ranks #187 of 844 databases on the WhichDB Score (17.8/100), and #58 among relational databases. The score combines public adoption signals such as package downloads, GitHub activity, job posts and developer discussion.