A mobile database for iOS, macOS, tvOS, and watchOS that replaces Core Data and SQLite with an object-oriented model.
Realm is a mobile database for iOS, macOS, tvOS, and watchOS that provides an object-oriented alternative to Core Data and SQLite. It allows developers to define data models as native Swift or Objective-C classes and persist them locally with automatic synchronization and reactive updates. The database is designed for offline use, encryption, and seamless integration with SwiftUI.
Mobile developers building apps for Apple platforms (iOS, macOS, tvOS, watchOS) who need a local database with an intuitive, object-oriented API and reactive data binding.
Developers choose Realm for its simplicity—it eliminates the need for an ORM and reduces boilerplate code—while offering live objects for reactive apps, built-in encryption, and direct SwiftUI integration, all optimized for mobile performance.
Realm is a mobile database: a replacement for Core Data & SQLite
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Models are defined as native Swift/Objective-C classes, eliminating ORM boilerplate and reducing code, as shown with simple class definitions like Dog and Person.
Data changes propagate automatically via NotificationToken observers, enabling reactive UI updates without manual synchronization, simplifying app state management.
The @ObservedResults property wrapper seamlessly binds Realm data to SwiftUI views, with built-in support for list operations like move and delete in examples.
Supports encryption at-rest and in-flight with configurable keys using Realm.Configuration, securing sensitive local data without external libraries.
Designed exclusively for iOS, macOS, tvOS, and watchOS, it lacks native support for cross-platform frameworks like Flutter or React Native without separate SDKs.
Uses a custom storage engine and query language, not SQL, making data migration, tooling, or interoperability with other databases challenging.
Building from source requires Xcode 15.3 or newer and an internet connection for core binaries, adding setup overhead compared to precompiled options.
Realm is an open-source alternative to the following products: