Realm Is Deprecated: Which Mobile Database to Use in 2026
Key takeaways
- MongoDB deprecated the Atlas Device SDKs (Realm) in September 2024 and ended Atlas Device Sync, along with the App Services features built on it, on September 30, 2025.
- The on-device Realm database continues as open source, and MongoDB keeps "community" branches without the sync code. Release activity differs a lot by platform: the Swift SDK shipped in September 2026, the Kotlin SDK has not had a release since 2024.
- Most realm.io addresses now lead nowhere: the homepage redirects to MongoDB's deprecation notice, product pages return 404, and the old news and academy subdomains no longer resolve.
- For local storage only, the safe 2026 default is SQLite through your platform's standard library: Room on Android, GRDB or SwiftData on iOS, Drift in Flutter, expo-sqlite or op-sqlite in React Native.
- If you relied on sync, MongoDB itself points to Ditto, PowerSync, ObjectBox and AWS AppSync, among others. Ditto and PowerSync publish step-by-step migration guides from Atlas Device Sync.
Pricing an app? Try the free app cost calculator or get a range for your project in the instant quote.
If your app stores data in Realm, the company behind it has stepped back: MongoDB deprecated the Realm SDKs in September 2024 and removed Atlas Device Sync on September 30, 2025. The local database still runs and is still open source, but most old realm.io links now go nowhere, and several SDKs no longer get regular releases. For local storage in 2026, the safe default is SQLite through your platform's standard library. If you need sync, choose a sync engine first and a local store second.
This page replaces the Realm product pages, news posts and academy tutorials that older articles still link to. Dates come from MongoDB's own documentation. Versions come from the official package registries and were checked on October 17, 2026.
Disclosure: App369 is my studio, and I build mostly with Flutter and Firebase, both of which appear below. No vendor on this page paid for a mention.
What happened to Realm, and when
| Date | What happened | Source |
|---|---|---|
| September 2024 | MongoDB deprecates the Atlas Device SDKs, including Atlas Device Sync, and sets end of life for September 30, 2025 | MongoDB |
| September 30, 2025 | Device Sync reaches end of life and is removed, along with the SDKs' App Services features such as authentication | MongoDB |
Two parts of Realm were affected differently:
- The on-device database carries on. MongoDB's notice says it "will continue to exist as an open source project", and MongoDB keeps
communitybranches of the C++, Flutter, Kotlin, .NET, JavaScript and Swift SDKs with the sync code removed. - Atlas Device Sync is gone, and with it App Services authentication, the Wire Protocol, and calling Atlas Functions directly from the SDK. Database triggers in Atlas are not affected. See MongoDB's App Services deprecation page for the full list.
How alive each Realm SDK is
"Open source" doesn't mean "maintained". This is the most recent release of each SDK on October 17, 2026:
| SDK | Latest release | Status |
|---|---|---|
| Swift (iOS) | v20.0.6, September 27, 2026 | Still releasing, mainly Xcode compatibility fixes |
Flutter (realm on pub.dev) | 20.2.0, September 24, 2025 | No new pub.dev release in about a year |
JavaScript and React Native (realm on npm) | 20.2.0, August 11, 2025 | No release in over a year |
| .NET | 20.1.0, January 7, 2025 | Slow |
| Kotlin | 3.0.0, 2024 | No release since 2024 |
| Java (Android, legacy) | v10.19.0 | Effectively unmaintained |
If your platform's SDK has stopped releasing, the risk isn't that your app breaks tomorrow. It's that a future Xcode, Android Gradle Plugin or Flutter release breaks the build, and nobody ships a fix.
What the old addresses do today
Checked on October 17, 2026:
- realm.io redirects to MongoDB's deprecation notice.
- realm.io product pages, such as
/products/realm-mobile-database/, return 404. - news.realm.io and academy.realm.io, where the release announcements, tutorials and cheat sheets lived, no longer resolve. Old
realm.io/news/...links redirect to academy.realm.io and fail there.
The Wayback Machine has copies of most of these pages if you need an old API detail.
The 2026 options compared
Versions were checked on the official registries on October 17, 2026. "Sync" means the product syncs data with a server or other devices itself; you can always build your own sync on top of a local store.
Local databases (no built-in sync)
| Option | Platforms | Latest version | Model | Licence | Best for |
|---|---|---|---|---|---|
| Room | Android, Kotlin Multiplatform | Room 3 3.0.3 (September 9, 2026) | SQLite with an ORM | Open source (AndroidX) | Native Android and KMP apps |
| SwiftData | iOS 17+, macOS 14+ and other Apple platforms | Ships with Apple's SDKs | Object persistence | Part of Apple's SDKs | New Swift-only apps on recent iOS versions |
| GRDB.swift | Apple platforms | 7.11.1 (June 18, 2026) | SQLite toolkit | MIT | Swift apps that want SQL and full control |
| Drift | Flutter (Android, iOS, web, desktop) | 2.35.2 (October 7, 2026) | SQLite, type-safe queries | MIT | Flutter apps with relational data |
| isar_community | Flutter | 3.4.1 (October 13, 2026) | NoSQL object store | Apache 2.0 | Flutter apps moving from Isar or from Realm's object model |
| hive_ce | Flutter and Dart | 2.22.0 (October 14, 2026) | Key-value boxes | Check the package | Small amounts of simple data, settings and caches |
| expo-sqlite | Expo and React Native | 58.0.13 (October 14, 2026) | SQLite | MIT | Expo apps |
| op-sqlite | React Native | 18.2.5 (September 20, 2026) | SQLite, fast native bindings | MIT | React Native apps that need speed on large data |
The original Isar (last published in April 2023) and Hive (last published in June 2022) packages haven't had a release in years. Their community continuations, isar_community and hive_ce, are the ones getting updates.
Databases and engines with sync
| Option | Platforms | Latest version | How sync works | Pricing entry point | Migration guide from Atlas Device Sync |
|---|---|---|---|---|---|
| PowerSync | Flutter, React Native and Expo, web, Kotlin, Swift and more | Dart SDK 2.4.0 (September 2, 2026) | Syncs Postgres, MongoDB or MySQL into on-device SQLite; writes go through your backend | Free plan; Pro from $49 a month; Team from $599 a month; a free self-hosted edition | Yes |
| Ditto | iOS, Android, Flutter, web and desktop | 5.1.0 (August 19, 2026) | Peer-to-peer between devices, plus cloud | Proprietary. Free tier (10 cloud device connections, 2 GB storage); Pro and Enterprise through sales | Yes |
| ObjectBox | Android, iOS, Flutter, Java and Kotlin, Swift, C and C++ | Dart 5.3.2 (May 20, 2026) | Object database; ObjectBox Sync is a paid add-on | Database is Apache 2.0; Sync priced per deployment | A landing page, no step-by-step guide |
| Couchbase Lite | Android, iOS, .NET, C, React Native; Flutter by the community | Docs 4.1 (Android Kotlin extensions 4.1.2, September 14, 2026) | Syncs through Sync Gateway or Capella App Services, plus peer-to-peer | Community and Enterprise editions; check the licence terms for your use | No |
| Firestore offline persistence | Android, Apple, web, Flutter | cloud_firestore 7.0.0 (October 15, 2026) | Local cache that syncs when the device is online; on by default on Android and Apple | Firebase pricing (free tier, then pay as you go) | No |
MongoDB's own list of alternative sync providers also includes AWS AppSync, HiveMQ, Ably, Parse and Cedalo. If you also need a new backend, not just a new device database, my guide to backend options after Parse, Kinvey and Realm Sync covers Firebase, Supabase, Parse Server, Appwrite and PocketBase.
How to choose
- You only used Realm to store data on the phone. Move to SQLite through your platform's standard tool: Room on Android, GRDB or SwiftData on iOS, Drift in Flutter, expo-sqlite or op-sqlite in React Native. SQLite will outlive every wrapper on this page.
- You like Realm's object model and use Flutter. isar_community is the closest in feel. Check the package's activity before you commit, because community projects depend on a few maintainers.
- You used Atlas Device Sync and your backend is MongoDB. Start with PowerSync or Ditto, the two with published migration guides. PowerSync's guide notes that Realm can run in parallel during the move.
- Devices need to sync with each other without the internet (field work, retail, aviation). Ditto and Couchbase Lite both sync peer-to-peer.
- You're starting a new app and want the least backend work. Firestore with offline persistence covers most apps that need to work on a train and catch up later. Test conflict handling with two devices editing the same record before you rely on it.
- You can't move yet. Keep the Realm
communitybuild, pin your SDK version, and add a CI job that builds against the newest Xcode or Android tools, so you see breakage before your users do.
Migration checklist
- Inventory every Realm model and query. Note relationships, embedded objects, lists and any live queries or change listeners your UI depends on. Live updates are often the hardest part to replace.
- List everything Atlas did for you. Sync, App Services authentication, functions called from the app, permissions rules. Each one needs a new home.
- Pick the target and prove it on one screen. Port the most complex screen first, on a real phone, with production-sized data.
- Write a one-time importer. On first launch of the new version, read the old Realm file, write the data into the new store, and mark the import as done. Keep the old file until the import is confirmed.
- Handle the unhappy paths. Low storage, a killed app mid-import, and a user who skipped several versions.
- Test sync conflicts with two devices. Edit the same record offline on both, then reconnect. Decide what should win and check that it does.
- Release in stages. TestFlight and Google Play internal testing first, then a staged rollout, and watch crash reports for import failures.
- Remove Realm last. Drop the dependency only after the importer has run for most active users.
Need a hand?
If the migration is stuck on one bug, such as an import that loses records, a crash after the switch or a sync loop, the App Fix Ticket is a fixed-price option. The Diagnosis is $450 in 3 business days, with a fixed repair quote and the fee credited toward the fix. The Fix is $1,200 in 5 business days, with a pull request, a regression test and handover notes. It covers Flutter, Swift, Kotlin, React, Vue, Firebase and Node.js, and it doesn't cover rewrites. For a full migration, get in touch and I'll scope it.
Frequently asked questions
- Does Realm still work after September 30, 2025?
- The local database does. MongoDB says the on-device database continues as an open source project. What stopped on September 30, 2025 is Atlas Device Sync and the App Services features around it, such as App Services authentication. An app that used Realm only for local storage keeps working; an app that synced through Atlas needs a new sync layer.
- Is it safe to keep using Realm only as a local database?
- It can be, for now, but check your platform first. On October 17, 2026 the Swift SDK had a release from September 2026, while the Kotlin SDK's last release was 3.0.0 in 2024 and the Flutter SDK's last was in 2025. Each new OS and toolchain release is a risk for an SDK nobody updates, so plan a move even if you do not need one today.
- What is the best Realm alternative for Flutter?
- For a relational local database, Drift (on SQLite) is the most established choice. For a NoSQL-style object store, isar_community and hive_ce are the community-maintained continuations of Isar and Hive, whose original packages have not been published since 2023 and 2022. If you need sync, PowerSync, ObjectBox and Ditto all have Flutter SDKs, and Firestore has offline persistence.
- What replaced Atlas Device Sync?
- Nothing from MongoDB. Its deprecation page lists alternative providers, including Ditto, PowerSync, ObjectBox and AWS AppSync, and links migration guides for Ditto and PowerSync. PowerSync syncs a backend database into on-device SQLite; Ditto adds peer-to-peer sync between devices.
- Where did the old realm.io articles and docs go?
- Mostly nowhere. On October 17, 2026, realm.io redirected to MongoDB's deprecation page, product pages such as /products/realm-mobile-database/ returned 404, and the news.realm.io and academy.realm.io subdomains did not resolve. The Wayback Machine has copies of most of them.
Sources
- MongoDB, Atlas Device SDKs deprecation
- MongoDB, Device Sync deprecation and alternative providers
- MongoDB, App Services deprecation
- Realm Swift releases on GitHub
- Realm Kotlin on Maven Central
- realm on pub.dev (Flutter SDK)
- realm on npm (JavaScript and React Native SDK)
- Android Developers, Room 3 releases
- GRDB.swift on GitHub
- Apple Developer, SwiftData
- drift on pub.dev
- isar_community on pub.dev
- hive_ce on pub.dev
- expo-sqlite on npm
- op-sqlite on npm
- ObjectBox Sync
- Couchbase Lite documentation
- PowerSync pricing
- PowerSync, migrating from Atlas Device Sync
- Ditto, MongoDB Atlas Device Sync migration guide
- Firebase, Access data offline (Cloud Firestore)
Related Resources
Related guides
Parse, Kinvey and Realm Sync Are Gone: Where to Run Your App Backend in 2026
Parse, Kinvey, Telerik Platform, Realm Sync and App Center are gone. A dated record of what shut down, plus the 2026 options for your app backend (Firebase, Supabase, Parse Server, Appwrite, PocketBase) with prices checked October 17, 2026.
Read more →Titanium, PhoneGap and Xamarin Are Gone: Which Cross-Platform Framework in 2026?
Appcelerator Titanium, PhoneGap and Xamarin have ended or moved to the community. What shut down, plus 2026 options with versions checked October 17, 2026.
Read more →Flutter vs React Native: Which Is Best?
Compare Flutter vs React Native head-to-head. Learn the key differences in performance, development speed, ecosystem support, and why Flutter wins for apps.
Read more →