Kotlin Multiplatform

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

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:

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 November 5, 2025
datastore

Documentation
November 5, 2025
lifecycle

Documentation
November 5, 2025
viewModel

Documentation
November 5, 2025
viewModel-compose

Documentation
November 5, 2025
paging September 10, 2025
room

Documentation
October 22, 2025
savedstate November 5, 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.

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.

Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Last updated 2025年11月05日 UTC.