Kotlin Multiplatform
Write a single codebase that runs on multiple platforms with Kotlin Multiplatform.
stable and production-ready. With JetBrains' Compose Multiplatform (CMP), developers can also share UI across platforms.
Pathway
Basics of Kotlin Multiplatform
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
Kotlin Multiplatform 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:
Deduplicate code
Your complex business logic doesn't have to be duplicated on each platform.
No complete rewrite
With Kotlin Multiplatform, you don't need to rewrite your whole application to start sharing code between platforms.
Native performance
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:
Built by Android
Built by JetBrains
Not supported
| Library | Latest Release | Android | iOS | JVM | Web |
|---|---|---|---|---|---|
| annotation |
October 22, 2025 |
||||
| collection |
August 27, 2025 |
||||
| compose |
November 19, 2025 |
||||
|
datastore
Documentation |
November 19, 2025 |
||||
|
lifecycle
Documentation |
November 19, 2025 |
||||
|
viewModel
Documentation |
November 19, 2025 |
||||
|
viewModel-compose
Documentation |
November 19, 2025 |
||||
|
navigation
Documentation |
November 5, 2025 |
||||
| navigation3 |
November 19, 2025 |
||||
| navigationevent |
November 19, 2025 |
||||
| paging |
September 10, 2025 |
||||
|
room
Documentation |
November 19, 2025 |
||||
| savedstate |
November 5, 2025 |
||||
|
sqlite
Documentation |
November 19, 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.
KMP module wizard
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 for JetBrains' Compose Multiplatform
Live Edit works when building on Android Devices editing any code within the project, not just in
androidMain.
Previews for JetBrains' Compose Multiplatform
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 in Jetpack
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.
Tier 1
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
Tier 2
Code is partially tested on CI; limited to host-side tests. We don't track source or binary compatibility.
- macOS
- Linux
Tier 3
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.
Kotlin Multiplatform samples
A set of Kotlin Multiplatform samples that demonstrate how to use the Jetpack libraries for Android and iOS.
Get started with Kotlin Multiplatform
Guided onboarding on how to add KMP to your project.
Migrate Room to Kotlin Multiplatform
Guided migration of Android-only Room to KMP.
In-depth Guidance
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.