[Kotlin Multiplatform](https://kotlinlang.org/lp/mobile/) (KMP) enables sharing Kotlin code across
different platforms. Kotlin Multiplatform is developed by JetBrains and is
[officially supported](https://android-developers.googleblog.com/2024/05/android-support-for-kotlin-multiplatform-to-share-business-logic-across-mobile-web-server-desktop.html) by Google for sharing business logic
between Android and iOS. Using KMP to target mobile platforms is [stable and
production-ready](https://blog.jetbrains.com/kotlin/2023/11/kotlin-multiplatform-stable/).

<br />

## Multiplatform Jetpack libraries

Many of our Jetpack libraries have already been migrated to take advantage of
KMP. The following Jetpack libraries provide KMP support:

|                                    Maven Group ID                                     |   Latest Update    |                                        Stable Release                                        | Release Candidate | Beta Release |                                                 Alpha Release                                                  |                                 Documentation                                 |
|---------------------------------------------------------------------------------------|--------------------|----------------------------------------------------------------------------------------------|-------------------|--------------|----------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------|
| [annotation (\*)](https://developer.android.com/jetpack/androidx/releases/annotation) | July 16, 2025      | [1.9.1](https://developer.android.com/jetpack/androidx/releases/annotation#annotation-1.9.1) | -                 | -            | -                                                                                                              |
| [collection](https://developer.android.com/jetpack/androidx/releases/collection)      | August 27, 2025    | [1.5.0](https://developer.android.com/jetpack/androidx/releases/collection#1.5.0)            | -                 | -            | [1.6.0-alpha01](https://developer.android.com/jetpack/androidx/releases/collection#1.6.0-alpha01)              |
| [datastore](https://developer.android.com/jetpack/androidx/releases/datastore)        | May 20, 2025       | [1.1.7](https://developer.android.com/jetpack/androidx/releases/datastore#1.1.7)             | -                 | -            | [1.2.0-alpha02](https://developer.android.com/jetpack/androidx/releases/datastore#1.2.0-alpha02)               | [Documentation](https://developer.android.com/kotlin/multiplatform/datastore) |
| [lifecycle (\*)](https://developer.android.com/jetpack/androidx/releases/lifecycle)   | September 24, 2025 | [2.9.4](https://developer.android.com/jetpack/androidx/releases/lifecycle#lifecycle-*-2.9.4) | -                 | -            | [2.10.0-alpha04](https://developer.android.com/jetpack/androidx/releases/lifecycle#lifecycle-*-2.10.0-alpha04) |
| [paging (\*)](https://developer.android.com/jetpack/androidx/releases/paging)         | September 10, 2025 | [3.3.6](https://developer.android.com/jetpack/androidx/releases/paging#paging-*-3.3.6)       | -                 | -            | [3.4.0-alpha04](https://developer.android.com/jetpack/androidx/releases/paging#paging-*-3.4.0-alpha04)         |
| [room](https://developer.android.com/jetpack/androidx/releases/room)                  | September 24, 2025 | [2.8.1](https://developer.android.com/jetpack/androidx/releases/room#2.8.1)                  | -                 | -            | -                                                                                                              | [Documentation](https://developer.android.com/kotlin/multiplatform/room)      |
| [savedstate](https://developer.android.com/jetpack/androidx/releases/savedstate)      | September 17, 2025 | [1.3.3](https://developer.android.com/jetpack/androidx/releases/savedstate#1.3.3)            | -                 | -            | [1.4.0-alpha03](https://developer.android.com/jetpack/androidx/releases/savedstate#1.4.0-alpha03)              |
| [sqlite](https://developer.android.com/jetpack/androidx/releases/sqlite)              | September 24, 2025 | [2.6.1](https://developer.android.com/jetpack/androidx/releases/sqlite#2.6.1)                | -                 | -            | -                                                                                                              | [Documentation](https://developer.android.com/kotlin/multiplatform/sqlite)    |

### Reference documentation

The reference documentation for these libraries (for example,
[`DataStoreFactory`](https://developer.android.com/reference/kotlin/androidx/datastore/core/DataStoreFactory)) marks the APIs based on their availability for common
code, Android, and Native.

You can also filter for declarations by platform at the top of each page. The
following table shows the meaning of each marker.

<br />

## 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.

The current level of support for each platform can be summarized in tiers:

**Tier 1**:

- Fully tested in CI; including both host-side and on-device tests
- Source and binary compatibility tracking in accordance with our [semantic
  versioning policies](https://developer.android.com/jetpack/androidx/versions)

**Tier 2**:

- Partially tested on CI; limited to host-side tests
- No source or binary compatibility tracking

**Tier 3**:

- Untested on CI
- No source or binary compatibility tracking

|  Platform  | Level of support |
|------------|------------------|
| Android    | Tier 1           |
| JVM        | Tier 1           |
| iOS        | Tier 1           |
| macOS      | Tier 2           |
| Linux      | Tier 2           |
| watchOS    | Tier 3           |
| tvOS       | Tier 3           |
| Windows    | Tier 3           |
| JavaScript | Tier 3           |
| WASM       | Tier 3           |

| **Note:** The support level per-platform listed here is for Jetpack **library** releases. Tooling and IDE support in Android Studio is still a work in progress, and not all features may work for KMP projects.

## Tooling support

You can open, edit, and run multiplatform projects in Android Studio. However,
some IDE features aren't yet available for these projects.

### Create a new KMP module with Android Studio

You can start migrating to KMP by [creating a KMP shared module](https://developer.android.com/kotlin/multiplatform/migrate)
within Android Studio. This module automatically applies all the necessary
plugins, including the [Android-KMP plugin](https://developer.android.com/kotlin/multiplatform/plugin), to start developing
Android and iOS apps.

### Kotlin Multiplatform Android Studio Plugin

We recommend installing the [Kotlin Multiplatform](https://plugins.jetbrains.com/plugin/14936-kotlin-multiplatform) Android
Studio Plugin developed by JetBrains. This plugin offers several features to
ease the development experience:

- **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.

## Additional Resources

For further information about the overall multiplatform ecosystem and more
advanced configurations, see the official
[Kotlin Multiplatform documentation](https://kotlinlang.org/docs/multiplatform-intro.html).

- The [kotlin-multiplatform-samples](https://github.com/android/kotlin-multiplatform-samples) - showcases some of the
  functionality of Jetpack libraries in a KMP project.

- [Get Started with KMP Codelab](https://developer.android.com/codelabs/kmp-get-started) - guided onboarding how to add KMP to your
  project.

- [Migrate Room to Room KMP Codelab](https://developer.android.com/codelabs/kmp-migrate-room) - guided migration of Android-only
  Room to KMP.

## Feedback

If you have feedback on these libraries, share it through the [issue
tracker](https://issuetracker.google.com/issues/new?component=1337890&template=1803002).

## Recommended for you

- Note: link text is displayed when JavaScript is off
- [Migrate existing apps to Room KMP Codelab](https://developer.android.com/codelabs/kmp-migrate-room)
- [Get Started with KMP Codelab](https://developer.android.com/codelabs/kmp-get-started)
- [Use the Android-KMP Gradle plugin](https://developer.android.com/kotlin/multiplatform/plugin)