AI & Technology

Realm Is Deprecated: Which Mobile Database to Use in 2026

Simon Dziak
Simon Dziak
Founder & developer, App369
LinkedIn
October 17, 2026•9 min

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

DateWhat happenedSource
September 2024MongoDB deprecates the Atlas Device SDKs, including Atlas Device Sync, and sets end of life for September 30, 2025MongoDB
September 30, 2025Device Sync reaches end of life and is removed, along with the SDKs' App Services features such as authenticationMongoDB

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 community branches 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:

SDKLatest releaseStatus
Swift (iOS)v20.0.6, September 27, 2026Still releasing, mainly Xcode compatibility fixes
Flutter (realm on pub.dev)20.2.0, September 24, 2025No new pub.dev release in about a year
JavaScript and React Native (realm on npm)20.2.0, August 11, 2025No release in over a year
.NET20.1.0, January 7, 2025Slow
Kotlin3.0.0, 2024No release since 2024
Java (Android, legacy)v10.19.0Effectively 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)

OptionPlatformsLatest versionModelLicenceBest for
RoomAndroid, Kotlin MultiplatformRoom 3 3.0.3 (September 9, 2026)SQLite with an ORMOpen source (AndroidX)Native Android and KMP apps
SwiftDataiOS 17+, macOS 14+ and other Apple platformsShips with Apple's SDKsObject persistencePart of Apple's SDKsNew Swift-only apps on recent iOS versions
GRDB.swiftApple platforms7.11.1 (June 18, 2026)SQLite toolkitMITSwift apps that want SQL and full control
DriftFlutter (Android, iOS, web, desktop)2.35.2 (October 7, 2026)SQLite, type-safe queriesMITFlutter apps with relational data
isar_communityFlutter3.4.1 (October 13, 2026)NoSQL object storeApache 2.0Flutter apps moving from Isar or from Realm's object model
hive_ceFlutter and Dart2.22.0 (October 14, 2026)Key-value boxesCheck the packageSmall amounts of simple data, settings and caches
expo-sqliteExpo and React Native58.0.13 (October 14, 2026)SQLiteMITExpo apps
op-sqliteReact Native18.2.5 (September 20, 2026)SQLite, fast native bindingsMITReact 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

OptionPlatformsLatest versionHow sync worksPricing entry pointMigration guide from Atlas Device Sync
PowerSyncFlutter, React Native and Expo, web, Kotlin, Swift and moreDart SDK 2.4.0 (September 2, 2026)Syncs Postgres, MongoDB or MySQL into on-device SQLite; writes go through your backendFree plan; Pro from $49 a month; Team from $599 a month; a free self-hosted editionYes
DittoiOS, Android, Flutter, web and desktop5.1.0 (August 19, 2026)Peer-to-peer between devices, plus cloudProprietary. Free tier (10 cloud device connections, 2 GB storage); Pro and Enterprise through salesYes
ObjectBoxAndroid, iOS, Flutter, Java and Kotlin, Swift, C and C++Dart 5.3.2 (May 20, 2026)Object database; ObjectBox Sync is a paid add-onDatabase is Apache 2.0; Sync priced per deploymentA landing page, no step-by-step guide
Couchbase LiteAndroid, iOS, .NET, C, React Native; Flutter by the communityDocs 4.1 (Android Kotlin extensions 4.1.2, September 14, 2026)Syncs through Sync Gateway or Capella App Services, plus peer-to-peerCommunity and Enterprise editions; check the licence terms for your useNo
Firestore offline persistenceAndroid, Apple, web, Fluttercloud_firestore 7.0.0 (October 15, 2026)Local cache that syncs when the device is online; on by default on Android and AppleFirebase 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

  1. 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.
  2. 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.
  3. 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.
  4. Devices need to sync with each other without the internet (field work, retail, aviation). Ditto and Couchbase Lite both sync peer-to-peer.
  5. 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.
  6. You can't move yet. Keep the Realm community build, 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

  1. 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.
  2. List everything Atlas did for you. Sync, App Services authentication, functions called from the app, permissions rules. Each one needs a new home.
  3. Pick the target and prove it on one screen. Port the most complex screen first, on a real phone, with production-sized data.
  4. 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.
  5. Handle the unhappy paths. Low storage, a killed app mid-import, and a user who skipped several versions.
  6. Test sync conflicts with two devices. Edit the same record offline on both, then reconnect. Decide what should win and check that it does.
  7. Release in stages. TestFlight and Google Play internal testing first, then a staged rollout, and watch crash reports for import failures.
  8. 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

  1. MongoDB, Atlas Device SDKs deprecation
  2. MongoDB, Device Sync deprecation and alternative providers
  3. MongoDB, App Services deprecation
  4. Realm Swift releases on GitHub
  5. Realm Kotlin on Maven Central
  6. realm on pub.dev (Flutter SDK)
  7. realm on npm (JavaScript and React Native SDK)
  8. Android Developers, Room 3 releases
  9. GRDB.swift on GitHub
  10. Apple Developer, SwiftData
  11. drift on pub.dev
  12. isar_community on pub.dev
  13. hive_ce on pub.dev
  14. expo-sqlite on npm
  15. op-sqlite on npm
  16. ObjectBox Sync
  17. Couchbase Lite documentation
  18. PowerSync pricing
  19. PowerSync, migrating from Atlas Device Sync
  20. Ditto, MongoDB Atlas Device Sync migration guide
  21. Firebase, Access data offline (Cloud Firestore)
Tags
#realm alternative #realm deprecated #mongodb realm end of life #atlas device sync alternative #mobile database 2026 #offline first mobile app #flutter local database #drift vs isar #room vs realm #sqlite mobile
Share:

Related Resources

Related guides