OSS TanbouSign in with GitHub

A declarative Kotlin framework for sharing UI code across Android, iOS, desktop, and web

About these scores

OSS scale score is an unbounded metric that log-compresses and weights Stars, Watchers, Forks, and Contributors. Discovery score is the current OSS scale score minus the score at discovery. Update pace is commits in the last 30 days, growth momentum is the OSS scale score difference within the recent observation window, and OSS health is a 0–100 rating based on available recency, Community Health, and release data.

Stars
19,400
Primary language
Kotlin
License
Apache-2.0
Repository last updated
Oct 3, 2026
On this page

Overview

Compose Multiplatform is a declarative framework for sharing Kotlin UI code across multiple platforms. Built on Jetpack Compose, it targets Android, iOS, Windows, macOS, Linux desktop, and web. Applications can keep common UI while still calling platform APIs and embedding native UI components where needed.

Features and best fit

Based on official documentation; not hands-on tested · Content checked:

Key features

Choose target platforms and share the same declarative UI model

Projects can share UI across selected combinations of Android, iOS, desktop operating systems, and web. Android follows the Jetpack Compose experience, while desktop adds hardware-accelerated rendering and extensions for menus, keyboard shortcuts, window manipulation, and notifications.

Sources: [1]

Reach native APIs and embed existing platform views from shared UI

Because the framework builds on Kotlin Multiplatform, shared code can access platform APIs such as the iOS Camera API. It can also embed native UI components such as MKMapView, allowing projects to bridge to platform-specific implementation instead of replacing every screen with common code.

Sources: [1]

Best fit

Fits Kotlin teams that want shared UI without giving up platform integration

It is a candidate for teams building Android and iOS screens together or carrying one interface design across mobile and desktop. It suits projects that want to reuse Kotlin and Jetpack Compose concepts while retaining platform APIs and native UI where they add value.

Before adoption

Evaluate target maturity, toolchains, and compatible versions separately

The v1.12.1 README labels web support as Beta. Compose HTML targets Kotlin/JS and is not itself a multiplatform library. Shared UI also does not remove per-platform work for packaging, permissions, native integration, and testing.

Projects need Kotlin and Gradle plus Android or Apple tooling for the chosen targets. Releases specify compatible Kotlin, Compose Gradle plugin, and Jetpack-family library versions, so existing projects should review compatibility and migration notes before upgrading. The repository is Apache-2.0 licensed.

Sources: [1][3][4]

Official sources

  1. [1]JetBrains/compose-multiplatform — README at v1.12.1(2026-10-04)
  2. [2]Compose Multiplatform Imageviewer sample at v1.12.1(2026-10-04)
  3. [3]Compose Multiplatform 1.12.1 release(2026-10-04)
  4. [4]Compose Multiplatform Apache-2.0 license at v1.12.1(2026-10-04)
Supplemental curator note

Compare more than the percentage of shared UI: packaging, testing, and native integration still carry platform-specific cost. A small screen or feature is a useful way to test the boundary between common UI and target-specific implementation.

Try it in 3 steps

  1. 1

    Clone the official v1.12.1 samples

    Use the Imageviewer sample from the fixed release tag.

    git clone --branch v1.12.1 --depth 1 https://github.com/JetBrains/compose-multiplatform.git
  2. 2

    Enter the Imageviewer project

    Move to the sample Gradle root for Android, iOS, desktop, and web.

    cd compose-multiplatform/examples/imageviewer
  3. 3

    Run the desktop target

    The fixed sample wrapper uses Gradle 9.5.0. A compatible JDK and network access are required, and the first dependency download can take time.

    ./gradlew desktopApp:run
Check the official README

Growth

Growth trends · Last 30 days

19,400 Stars

Trend data is still being collected.

Development activity

Last 90 days · weekly

Commits (last 30 days)
35
Open PRs
23

Development activity is still being collected.

Built with

Categories and tags

Categories

GitHub data

GitHub dataView detailed GitHub data

GitHub Topics

  • kotlin
  • ui
  • multiplatform
  • desktop
  • swing
  • awt
  • gui
  • compose
  • android
  • javascript
  • reactive
  • declarative-ui
Stars
19,400
Forks
1,430
Watchers
251
Open issues
0
Contributors
179
Owner type
Organization
Primary language
Kotlin
License
Apache-2.0
Repository last updated
Oct 3, 2026
Write a related article

Share a guide or use case for this OSS in Markdown. Articles are published after administrator approval.

Report incorrect information

Tell us if any listing information is incorrect or outdated.

After reading this page, do you know what to do next?