realm logo
open menu

Realm Kotlin

Fast, powerful data storage for Kotlin and KMM apps

Realm Kotlin makes persisting, querying, and syncing data as simple as working with objects in your data model, with idiomatic APIs that integrate directly with Coroutines and Flows.

Why Use Realm Kotlin?

check

Fast, lightweight, and scalable

Realm’s integration with Flows automatically updates your views for you. The rich, expressive, and powerful query engine makes creating production-grade apps a breeze.
check

Save time with intuitive objects and KMM integration

No need for SQL, nor an ORM – working with your data is just like working with Kotlin-native objects. Realm is also compatible with Kotlin Multiplatform Mobile so you can build apps for mobile, web, desktop, and embedded devices from a single codebase.
check

Built-in mobile to cloud sync

Real-time mobile to cloud data sync makes it easy to build interactive features that keep data up-to-date across multiple devices, users, and the backend.

What does storing and querying data in Realm look like?

Work with intuitive APIs

Idiomatic APIs and powerful queries help you get to market faster with less code.
struct ContactsView: View {
    @ObservedResults(Person.self) var persons
    
    var body: some View {
        List {
            ForEach(persons) { person in
                TextField(“name”, person.bind(.name))(
            }
            .onDelete(perform: $persons.remove)
        }.navigationBarItems(trailing:
            Button("Add") {
                $persons.append(Person())
            }
        )
    }
}

Enjoy automatic updates with Flows integration

Realm’s integration with Flows automatically updates your views for you. Frozen objects decouple Realm data models from your UI.
struct ContactsView: View {
    @ObservedResults(Person.self) var persons
    
    var body: some View {
        List {
            ForEach(persons) { person in
                TextField(“name”, person.bind(.name))(
            }
            .onDelete(perform: $persons.remove)
        }.navigationBarItems(trailing:
            Button("Add") {
                $persons.append(Person())
            }
        )
    }
}

Apps built with Realm Kotlin

Many applications use Realm Kotlin – learn how Realm helps teams build better apps, faster.

Featured resources

Realm Quick Start

The fastest way to get started with the Realm local database. It includes copyable code examples and all the essential information you need.

Complete Realm Tutorial

Learn how to create a Kotlin task tracker app that allows users to manage a personal list of tasks using Realm. Then, enhance your app to include real-time, mobile to cloud sync functionality.

Deploy Realm in minutes

Deploy an iOS, Android, or cross-platform “To Do” app with real-time sync in minutes.