WatermelonDB
watermelondb.dev
What it is
WatermelonDB is a free, MIT-licensed reactive database framework for React and React Native applications. It is built for offline-first apps that synchronize local data with a remote database. Records load lazily, and queries run directly on SQLite on a separate native thread. The project describes a target scale from hundreds to tens of thousands of records. Record changes automatically re-render dependent UI components. Sync primitives and a built-in adapter work with backend endpoints that follow WatermelonDB’s protocol, but developers must provide that backend. Documented storage uses SQLite for React Native and Node.js, and LokiJS for web. Optional RxJS and JavaScript APIs support other UI frameworks. React Native Windows support is experimental, requires JSI and lacks Turbo Sync. The framework supports bidirectional synchronization and automatic conflict resolution, with documented sync edge cases.
Spec sheet
- Product
- WatermelonDB is a reactive database framework for React and React Native applications.Read 7 Oct 2026 · watermelondb.dev
- Platforms
- The installation guide documents iOS, Android, web, Node.js, and experimental React Native Windows support.Read 7 Oct 2026 · watermelondb.dev
- Integrations
- The docs describe React and React Native usage, an optional RxJS API, and a JavaScript API for other UI frameworks.Read 7 Oct 2026 · watermelondb.dev
- Backend requirement
- WatermelonDB is a local database, so users need to provide their own backend for synchronization.Read 7 Oct 2026 · watermelondb.dev
- Known sync limitations
- The docs note that a push can fail if a record changes remotely between pull and push, and that pushed changes may be pulled again on the next sync.Read 7 Oct 2026 · watermelondb.dev
- License and maintainer
- WatermelonDB is MIT licensed and names Radek Pietruszewski as its main author and maintainer.Read 7 Oct 2026 · watermelondb.dev
- Offline first
- WatermelonDB is designed for offline first use and synchronization with a remote database.Read 7 Oct 2026 · watermelondb.dev
- Performance
- It lazily loads records and runs queries directly on SQLite on a separate native thread.Read 7 Oct 2026 · watermelondb.dev
- Reactive UI
- Changes to records automatically re-render the UI components that depend on them.Read 7 Oct 2026 · watermelondb.dev
- Scale
- The project describes its target scale as hundreds to tens of thousands of records.Read 7 Oct 2026 · watermelondb.dev
- Security guidance
- The sync backend guide says to whitelist acceptable collection and column names and validate record IDs and permissions.Read 7 Oct 2026 · watermelondb.dev
- Storage adapters
- The setup guide uses SQLite for React Native and Node.js, and LokiJS for web.Read 7 Oct 2026 · watermelondb.dev
- Support and contribution
- The project invites users to open issues and contribute, and its docs link to Stack Overflow for community help.Read 7 Oct 2026 · watermelondb.dev
- Sync support
- It provides sync primitives and a built-in sync adapter that works with backend endpoints following its sync protocol.Read 7 Oct 2026 · watermelondb.dev
- Windows limits
- React Native Windows support is experimental, requires JSI, and does not implement Turbo Sync.Read 7 Oct 2026 · watermelondb.dev
Plans and prices
Strong points and limits
Strong points
- Free and MIT licensed
- Offline-first with bidirectional synchronization
- Lazy loading and native-thread SQLite queries
- Reactive UI updates from record changes
- JavaScript and TypeScript support
Limits
- Users must provide a synchronization backend
- Windows support is experimental
- Sync has documented edge cases
- No free trial
Who it suits
It suits React or React Native developers building offline-first applications with local data and remote synchronization. Teams should be prepared to operate their own synchronization backend.
Verdict
WatermelonDB offers a local, reactive data layer for React ecosystems, with offline operation and synchronization primitives. Its backend requirement and experimental Windows support matter when planning deployment.
Where Specifiction places it
- Mobile Databases#20 of 267.6