Write a single codebase that runs on multiple platforms with Kotlin Multiplatform.

Kotlin Multiplatform (KMP) is officially supported by Google for sharing business logic between Android and iOS. Kotlin Multiplatform is stable and production-ready. With JetBrains' Compose Multiplatform (CMP), developers can also share UI across platforms.

Pathway
Start your journey into multi-platform development today. This pathway will guide you through the essentials of Kotlin Multiplatform, from setting up your project, sharing code, and using platform-specific APIs, to migrating the Room Database to Kotlin Multiplatform.
Android Studio Plugin
We recommend installing the Kotlin Multiplatform Android Studio Plugin developed by JetBrains to improve the development experience within Android Studio.
  • New project wizard: Create a new multiplatform project within the IDE.
  • Preflight checks: Preflight checks help you configure your environment.
  • Run configurations: Run, debug, and test applications on both iOS and Android directly from the IDE.
  • Basic Swift support in the IDE: Get basic Swift support in the IDE, including cross-language debugging tools, navigation, and quick documentation.

Benefits of Kotlin Multiplatform

With Kotlin Multiplatform, you can choose what to share across platforms, from just core business logic to the entire application. The following are some of its key benefits:
Your complex business logic doesn't have to be duplicated on each platform.
With Kotlin Multiplatform, you don't need to rewrite your whole application to start sharing code between platforms.
Kotlin Multiplatform compiles into the native way the target platform runs code, delivering performance on par with native implementations.

Kotlin Multiplatform and Jetpack libraries

Many of our Jetpack libraries have already been migrated to be KMP-ready. The following Jetpack libraries provide KMP support:

Android logo Built by Android JetBrains logo Built by JetBrains Not supported

Library Latest Release Android iOS JVM Web
annotation October 22, 2025
collection August 27, 2025
compose October 22, 2025
datastore

Documentation
October 22, 2025
lifecycle

Documentation
October 22, 2025
viewModel

Documentation
October 22, 2025
viewModel-compose

Documentation
October 22, 2025
paging September 10, 2025
room

Documentation
October 22, 2025
savedstate October 22, 2025
sqlite

Documentation
September 24, 2025

If you have feedback on these libraries, share it through the issue tracker.

Tools support

You can open, edit, and run multiplatform projects in Android Studio.
You can start migrating to KMP by creating a KMP shared module within Android Studio. This module automatically applies all the necessary plugins, including the Android-KMP plugin, to start developing Android and iOS apps.
Live Edit works when building on Android Devices editing any code within the project, not just in androidMain.
Previews for Jetpack Compose are also available for JetBrains' Compose Multiplatform from the commonMain source set.

Apps built with Kotlin Multiplatform

Many apps are already successfully using Kotlin Multiplatform.
Blinkit
Cash App
Duolingo
Forbes
Google Docs
JioHotstar
Stone
Swiggy
Ultrahuman
Wrike
Zomato

Supported platforms

Jetpack library releases for officially supported platforms—Android and iOS—maintain the same quality and compatibility requirements. However, as we work to expand Jetpack's Kotlin Multiplatform support to other platforms, the tooling and infrastructure support may be a work in progress.
Code is fully tested in CI; including both host-side and on-device tests. We're tracking source and binary compatibility in accordance with our semantic versioning policies.
  • Android
  • JVM
  • iOS
Code is partially tested on CI; limited to host-side tests. We don't track source or binary compatibility.
  • macOS
  • Linux
Code is untested on CI. No source or binary compatibility tracking.
  • watchOS
  • tvOS
  • Windows
  • JavaScript
  • WASM

Additional resources

For further information about the overall multiplatform ecosystem and more advanced configurations, see the official Kotlin Multiplatform documentation.
A set of Kotlin Multiplatform samples that demonstrate how to use the Jetpack libraries for Android and iOS.
Guided onboarding on how to add KMP to your project.
Guided migration of Android-only Room to KMP.
More in-depth guidance is available in Kotlin Multiplatform documentation hub on Kotlinlang.org.
Learn what Kotlin Multiplatform is, how it works, and the benefits of using it.