Ditto vs Realm
Ditto
ditto.comRealm
realm.github.ioSide by side
| Figure | Ditto | Realm |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| iOS | Yes | Yes |
| Android | Yes | Yes |
| Self-hosted | — | Yes |
| Plans published | 3 | 1 |
| Spec score · Mobile Databases | 8.2 (#7) | 7.7 (#18) |
| Integrations | The pricing page lists a MongoDB Connector for Pro and Enterprise plans; the Ditto Server page also describes HTTP webhook events, a Kafka change stream for Enterprise, and an HTTP document API. | Realm's former Device Sync connected data across users, devices, and a backend in real time. |
| Product | Ditto is a distributed database that replicates data across devices through a peer-to-peer mesh, without requiring a centralized server or internet connection. | Realm is an object database designed to run directly on phones, tablets, and wearables. |
| Security | Ditto's DPA says data is encrypted in transit using TLS 1.2+ and at rest, and describes role-based access controls and least-privilege access. | Realm Swift says data can be encrypted in flight and at rest. |
| Support | The Free plan offers limited support, Pro offers business-hours support, and Enterprise offers 24x7 support. | The Realm documentation directs users to its forums, Stack Overflow, and GitHub issues for help. |
| Supported platforms | The Edge SDK is platform agnostic across iOS, Android, Windows, and Linux. | The JavaScript implementation supports React Native on iOS and Android, plus Node.js and Electron on Windows, macOS, and Linux. |
Plans
In their own words
Ditto
Ditto is a distributed database and Edge SDK for applications that must operate when networks are unreliable or unavailable. Its embedded database lets devices read and write offline, then synchronize through Bluetooth Low Energy, peer-to-peer Wi‑Fi, or a local area network without internet access or extra hardware. Devices using the SDK can form wireless mesh networks for real-time sharing in bandwidth-constrained environments. Ditto automatically resolves conflicts between peers and with the cloud when available. The platform supports Android, iOS, Windows, and Linux, with SDK languages including Swift, Kotlin, JavaScript, C#, C++, Rust, Flutter, and React Native. The Free plan costs nothing and includes 10 cloud device connections, 2GB storage, 5GB transfer, limited support, and no SLA.
Realm
Realm is an object database for local data persistence in mobile and edge applications. It runs directly on phones, tablets, and wearables, and presents data as objects that developers can query in code without an ORM. The database supports relationships, generics, and vectorization. Its documentation describes apps continuing to work through weak signal, offline periods, or outages. Listed SDKs include Java, Swift, Objective-C, JavaScript, and .NET; the JavaScript implementation supports React Native on iOS and Android, as well as Node.js and Electron on Windows, macOS, and Linux. Realm Swift supports encryption in transit and at rest. Realm Studio can open and edit local and synced Realms and administer Realm Object Server instances. Former Device Sync connected data across users, devices, and a backend in real time, but MongoDB announced deprecation of Device Sync and Realm SDKs in September 2024. Realm is free and open source under Apache License 2.0.